diff --git a/.clang-format b/.clang-format
new file mode 100644
index 0000000..d58eab9
--- /dev/null
+++ b/.clang-format
@@ -0,0 +1,16 @@
+BasedOnStyle: Chromium
+IndentWidth: 4
+
+# Reference: https://github.com/chromium/chromium/blob/3d90e395a5e87e305e567c097c434549f0d0874e/.clang-format
+# Make sure code like:
+# BEGIN_MESSAGE_MAP()
+# MESSAGE_HANDLER(WidgetHostViewHost_Update, OnUpdate)
+# END_MESSAGE_MAP()
+# gets correctly indented.
+MacroBlockBegin: "^\
+BEGIN_MSG_MAP|\
+BEGIN_MSG_MAP_EX|\
+BEGIN_DLGRESIZE_MAP$"
+MacroBlockEnd: "^\
+END_MSG_MAP|\
+END_DLGRESIZE_MAP$"
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..1ff0c42
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,63 @@
+###############################################################################
+# Set default behavior to automatically normalize line endings.
+###############################################################################
+* text=auto
+
+###############################################################################
+# Set default behavior for command prompt diff.
+#
+# This is need for earlier builds of msysgit that does not have it on by
+# default for csharp files.
+# Note: This is only used by command line
+###############################################################################
+#*.cs diff=csharp
+
+###############################################################################
+# Set the merge driver for project and solution files
+#
+# Merging from the command prompt will add diff markers to the files if there
+# are conflicts (Merging from VS is not affected by the settings below, in VS
+# the diff markers are never inserted). Diff markers may cause the following
+# file extensions to fail to load in VS. An alternative would be to treat
+# these files as binary and thus will always conflict and require user
+# intervention with every merge. To do so, just uncomment the entries below
+###############################################################################
+#*.sln merge=binary
+#*.csproj merge=binary
+#*.vbproj merge=binary
+#*.vcxproj merge=binary
+#*.vcproj merge=binary
+#*.dbproj merge=binary
+#*.fsproj merge=binary
+#*.lsproj merge=binary
+#*.wixproj merge=binary
+#*.modelproj merge=binary
+#*.sqlproj merge=binary
+#*.wwaproj merge=binary
+
+###############################################################################
+# behavior for image files
+#
+# image files are treated as binary by default.
+###############################################################################
+#*.jpg binary
+#*.png binary
+#*.gif binary
+
+###############################################################################
+# diff behavior for common document formats
+#
+# Convert binary document formats to text before diffing them. This feature
+# is only available from the command line. Turn it on by uncommenting the
+# entries below.
+###############################################################################
+#*.doc diff=astextplain
+#*.DOC diff=astextplain
+#*.docx diff=astextplain
+#*.DOCX diff=astextplain
+#*.dot diff=astextplain
+#*.DOT diff=astextplain
+#*.pdf diff=astextplain
+#*.PDF diff=astextplain
+#*.rtf diff=astextplain
+#*.RTF diff=astextplain
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..48a07ae
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,261 @@
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+
+# User-specific files
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+bld/
+[Bb]in/
+[Oo]bj/
+[Ll]og/
+
+# Visual Studio 2015 cache/options directory
+.vs/
+# Uncomment if you have tasks that create the project's static files in wwwroot
+#wwwroot/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+# NUNIT
+*.VisualState.xml
+TestResult.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# DNX
+project.lock.json
+project.fragment.lock.json
+artifacts/
+
+*_i.c
+*_p.c
+*_i.h
+*.ilk
+*.meta
+*.obj
+*.pch
+*.pdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opendb
+*.opensdf
+*.sdf
+*.cachefile
+*.VC.db
+*.VC.VC.opendb
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+*.sap
+
+# TFS 2012 Local Workspace
+$tf/
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# JustCode is a .NET coding add-in
+.JustCode
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# NCrunch
+_NCrunch_*
+.*crunch*.local.xml
+nCrunchTemp_*
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.[Pp]ublish.xml
+*.azurePubxml
+# TODO: Comment the next line if you want to checkin your web deploy settings
+# but database connection strings (with potential passwords) will be unencrypted
+#*.pubxml
+*.publishproj
+
+# Microsoft Azure Web App publish settings. Comment the next line if you want to
+# checkin your Azure Web App publish settings, but sensitive information contained
+# in these scripts will be unencrypted
+PublishScripts/
+
+# NuGet Packages
+*.nupkg
+# The packages folder can be ignored because of Package Restore
+**/packages/*
+# except build/, which is used as an MSBuild target.
+!**/packages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/packages/repositories.config
+# NuGet v3's project.json files produces more ignoreable files
+*.nuget.props
+*.nuget.targets
+
+# Microsoft Azure Build Output
+csx/
+*.build.csdef
+
+# Microsoft Azure Emulator
+ecf/
+rcf/
+
+# Windows Store app package directories and files
+AppPackages/
+BundleArtifacts/
+Package.StoreAssociation.xml
+_pkginfo.txt
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!*.[Cc]ache/
+
+# Others
+ClientBin/
+~$*
+*~
+*.dbmdl
+*.dbproj.schemaview
+*.jfm
+*.pfx
+*.publishsettings
+node_modules/
+orleans.codegen.cs
+
+# Since there are multiple workflows, uncomment next line to ignore bower_components
+# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
+#bower_components/
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+
+# SQL Server files
+*.mdf
+*.ldf
+
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# GhostDoc plugin setting file
+*.GhostDoc.xml
+
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
+
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
+
+# Paket dependency manager
+.paket/paket.exe
+paket-files/
+
+# FAKE - F# Make
+.fake/
+
+# JetBrains Rider
+.idea/
+*.sln.iml
+
+# CodeRush
+.cr/
+
+# Python Tools for Visual Studio (PTVS)
+__pycache__/
+*.pyc
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..217cdbc
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ Windhawk Symbol Helper.
+ Copyright (C) 2023 Michael Maltsev
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ Windhawk Symbol Helper Copyright (C) 2023 Michael Maltsev
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+.
diff --git a/MainDlg.cpp b/MainDlg.cpp
new file mode 100644
index 0000000..a4bed70
--- /dev/null
+++ b/MainDlg.cpp
@@ -0,0 +1,257 @@
+#include "stdafx.h"
+
+#include "MainDlg.h"
+
+#include "symbol_enum.h"
+
+namespace {
+
+void OpenUrl(HWND hWnd, PCWSTR url) {
+ if ((INT_PTR)ShellExecute(hWnd, L"open", url, nullptr, nullptr,
+ SW_SHOWNORMAL) <= 32) {
+ CString errorMsg;
+ errorMsg.Format(
+ L"Failed to open link, you can copy it with Ctrl+C and open it in "
+ L"a browser manually:\n\n%s",
+ url);
+ MessageBox(hWnd, errorMsg, nullptr, MB_ICONHAND);
+ }
+}
+
+} // namespace
+
+BOOL CMainDlg::PreTranslateMessage(MSG* pMsg) {
+ if (m_resultsEdit.PreTranslateMessage(pMsg)) {
+ return TRUE;
+ }
+
+ if (m_accelerator && ::TranslateAccelerator(m_hWnd, m_accelerator, pMsg)) {
+ return TRUE;
+ }
+
+ return CWindow::IsDialogMessage(pMsg);
+}
+
+BOOL CMainDlg::OnInitDialog(CWindow wndFocus, LPARAM lInitParam) {
+ // Center the dialog on the screen.
+ CenterWindow();
+
+ // Set icons.
+ HICON hIcon = AtlLoadIconImage(IDR_MAINFRAME, LR_DEFAULTCOLOR,
+ ::GetSystemMetrics(SM_CXICON),
+ ::GetSystemMetrics(SM_CYICON));
+ SetIcon(hIcon, TRUE);
+ HICON hIconSmall = AtlLoadIconImage(IDR_MAINFRAME, LR_DEFAULTCOLOR,
+ ::GetSystemMetrics(SM_CXSMICON),
+ ::GetSystemMetrics(SM_CYSMICON));
+ SetIcon(hIconSmall, FALSE);
+
+ // Bind keys...
+ m_accelerator = AtlLoadAccelerators(IDR_MAINFRAME);
+
+ // Register object for message filtering and idle updates.
+ CMessageLoop* pLoop = _Module.GetMessageLoop();
+ ATLASSERT(pLoop != NULL);
+ pLoop->AddMessageFilter(this);
+
+ // Populate values.
+ CEdit(GetDlgItem(IDC_ENGINE_DIR))
+ .SetWindowText(LR"(C:\Program Files\Windhawk\Engine\1.3.1)");
+ CEdit(GetDlgItem(IDC_SYMBOLS_DIR))
+ .SetWindowText(LR"(C:\ProgramData\Windhawk\Engine\Symbols)");
+ CEdit(GetDlgItem(IDC_SYMBOL_SERVER))
+ .SetWindowText(LR"(https://msdl.microsoft.com/download/symbols)");
+ CEdit(GetDlgItem(IDC_TARGET_EXECUTABLE))
+ .SetWindowText(LR"(C:\Windows\Explorer.exe)");
+ CButton(GetDlgItem(IDC_UNDECORATED)).SetCheck(BST_CHECKED);
+
+ // Init edit control.
+ auto resultsPlaceholderControl = GetDlgItem(IDC_RESULTS_PLACEHOLDER);
+
+ CRect rc;
+ resultsPlaceholderControl.GetClientRect(&rc);
+ resultsPlaceholderControl.MapWindowPoints(m_hWnd, rc);
+ m_resultsEdit.Create(m_hWnd, rc, nullptr,
+ WS_CHILD | WS_VISIBLE | WS_TABSTOP | ES_MULTILINE |
+ ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_WANTRETURN |
+ WS_VSCROLL | WS_HSCROLL,
+ WS_EX_CLIENTEDGE, IDC_RESULTS);
+
+ CLogFont fontAttributes(AtlGetDefaultGuiFont());
+ wcscpy_s(fontAttributes.lfFaceName, L"Consolas");
+ m_resultsEditFont = fontAttributes.CreateFontIndirect();
+ m_resultsEdit.SetFont(m_resultsEditFont);
+
+ // Init resizing.
+ DlgResize_Init();
+
+ return TRUE;
+}
+
+void CMainDlg::OnDestroy() {
+ m_enumSymbolsThread.reset();
+
+ PostQuitMessage(0);
+}
+
+void CMainDlg::OnAppAbout(UINT uNotifyCode, int nID, CWindow wndCtl) {
+ PCWSTR content =
+ L"A tool to get symbols from executables the same way Windhawk mods do "
+ L"with the symbols API.\n\n"
+ L"The tool was created to help with Windhawk mod development.\n\n"
+ L"Windhawk can be downloaded at windhawk.net.\n\n"
+ L"Compiled at " __DATE__ " " __TIME__ "\n\n";
+
+ TASKDIALOGCONFIG taskDialogConfig{
+ .cbSize = sizeof(taskDialogConfig),
+ .hwndParent = m_hWnd,
+ .hInstance = _Module.GetModuleInstance(),
+ .dwFlags = TDF_ENABLE_HYPERLINKS | TDF_ALLOW_DIALOG_CANCELLATION |
+ TDF_POSITION_RELATIVE_TO_WINDOW,
+ .pszWindowTitle = L"About",
+ .pszMainIcon = MAKEINTRESOURCE(IDR_MAINFRAME),
+ .pszMainInstruction = L"Windhawk Symbol Helper",
+ .pszContent = content,
+ .pfCallback = [](HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam,
+ LONG_PTR lpRefData) -> HRESULT {
+ switch (msg) {
+ case TDN_HYPERLINK_CLICKED:
+ OpenUrl(hwnd, (PCWSTR)lParam);
+ break;
+ }
+
+ return S_OK;
+ },
+ };
+
+ ::TaskDialogIndirect(&taskDialogConfig, nullptr, nullptr, nullptr);
+}
+
+void CMainDlg::OnOK(UINT uNotifyCode, int nID, CWindow wndCtl) {
+ if (m_enumSymbolsThread) {
+ m_enumSymbolsThread->request_stop();
+ GetDlgItem(IDOK).EnableWindow(FALSE);
+ return;
+ }
+
+ struct {
+ CString engineDir;
+ CString symbolsDir;
+ CString symbolServer;
+ CString targetExecutable;
+ bool undecorated;
+ bool decorated;
+ bool log;
+ } threadParams;
+
+ GetDlgItemText(IDC_ENGINE_DIR, threadParams.engineDir);
+ GetDlgItemText(IDC_SYMBOLS_DIR, threadParams.symbolsDir);
+ GetDlgItemText(IDC_SYMBOL_SERVER, threadParams.symbolServer);
+ GetDlgItemText(IDC_TARGET_EXECUTABLE, threadParams.targetExecutable);
+ threadParams.undecorated =
+ CButton(GetDlgItem(IDC_UNDECORATED)).GetCheck() != BST_UNCHECKED;
+ threadParams.decorated =
+ CButton(GetDlgItem(IDC_DECORATED)).GetCheck() != BST_UNCHECKED;
+ threadParams.log = CButton(GetDlgItem(IDC_LOG)).GetCheck() != BST_UNCHECKED;
+
+ SetDlgItemText(IDOK, L"Cancel");
+
+ m_enumSymbolsThread = std::jthread([threadParams = std::move(threadParams),
+ &enumSymbolsResult =
+ m_enumSymbolsResult,
+ hWnd =
+ m_hWnd](std::stop_token stopToken) {
+ try {
+ CStringA logOutput;
+ CString result;
+ int count = 0;
+
+ {
+ SymbolEnum::Callbacks callbacks{
+ .queryCancel =
+ [&stopToken]() { return stopToken.stop_requested(); },
+ .notifyProgress =
+ [hWnd](int progress) {
+ CWindow(hWnd).PostMessage(UWM_PROGRESS,
+ (WPARAM)progress);
+ },
+ };
+
+ if (threadParams.log) {
+ callbacks.notifyLog = [&logOutput](PCSTR message) {
+ logOutput += message;
+ logOutput += "\r\n";
+ };
+ }
+
+ SymbolEnum symbolEnum(threadParams.targetExecutable.GetString(),
+ 0, threadParams.engineDir.GetString(),
+ threadParams.symbolsDir.GetString(),
+ threadParams.symbolServer.GetString(),
+ callbacks);
+
+ while (auto iter = symbolEnum.GetNextSymbol(false)) {
+ if (stopToken.stop_requested()) {
+ throw std::runtime_error("Cancelled");
+ }
+
+ CString addressStr;
+ addressStr.Format(L"%p", iter->address);
+
+ if (threadParams.undecorated) {
+ result += L"[";
+ result += addressStr;
+ result += L"] ";
+ result += iter->name;
+ result += L"\r\n";
+ }
+
+ if (threadParams.decorated) {
+ result += L"[";
+ result += addressStr;
+ result += L"] ";
+ result += iter->nameDecorated;
+ result += L"\r\n";
+ }
+
+ count++;
+ }
+ }
+
+ enumSymbolsResult.Format(L"Found %d symbols\r\n%S%s", count,
+ logOutput.GetString(), result.GetString());
+ } catch (const std::exception& e) {
+ enumSymbolsResult.Format(L"Error: %S\r\n", e.what());
+ }
+
+ CWindow(hWnd).PostMessage(UWM_ENUM_SYMBOLS_DONE);
+ });
+}
+
+void CMainDlg::OnCancel(UINT uNotifyCode, int nID, CWindow wndCtl) {
+ DestroyWindow();
+}
+
+LRESULT CMainDlg::OnProgress(UINT uMsg, WPARAM wParam, LPARAM lParam) {
+ int progress = (int)wParam;
+
+ CString text;
+ text.Format(L"[%d%%] Cancel", progress);
+
+ SetDlgItemText(IDOK, text);
+
+ return 0;
+}
+
+LRESULT CMainDlg::OnEnumSymbolsDone(UINT uMsg, WPARAM wParam, LPARAM lParam) {
+ m_enumSymbolsThread.reset();
+
+ SetDlgItemText(IDC_RESULTS, m_enumSymbolsResult);
+ m_enumSymbolsResult.Empty();
+
+ SetDlgItemText(IDOK, L"Get &symbols");
+ GetDlgItem(IDOK).EnableWindow(TRUE);
+
+ return 0;
+}
diff --git a/MainDlg.h b/MainDlg.h
new file mode 100644
index 0000000..d697616
--- /dev/null
+++ b/MainDlg.h
@@ -0,0 +1,62 @@
+#pragma once
+
+#include "resource.h"
+#include "view.h"
+
+class CMainDlg : public CDialogImpl,
+ public CMessageFilter,
+ public CDialogResize {
+ public:
+ enum { IDD = IDD_MAINDLG };
+
+ enum {
+ UWM_PROGRESS = WM_APP,
+ UWM_ENUM_SYMBOLS_DONE,
+ };
+
+ BEGIN_DLGRESIZE_MAP(CMainDlg)
+ DLGRESIZE_CONTROL(IDC_STATIC_ENGINE_DIR, DLSZ_SIZE_X)
+ DLGRESIZE_CONTROL(IDC_ENGINE_DIR, DLSZ_SIZE_X)
+ DLGRESIZE_CONTROL(IDC_STATIC_SYMBOLS_DIR, DLSZ_SIZE_X)
+ DLGRESIZE_CONTROL(IDC_SYMBOLS_DIR, DLSZ_SIZE_X)
+ DLGRESIZE_CONTROL(IDC_STATIC_SYMBOL_SERVER, DLSZ_SIZE_X)
+ DLGRESIZE_CONTROL(IDC_SYMBOL_SERVER, DLSZ_SIZE_X)
+ DLGRESIZE_CONTROL(IDC_STATIC_TARGET_EXECUTABLE, DLSZ_SIZE_X)
+ DLGRESIZE_CONTROL(IDC_TARGET_EXECUTABLE, DLSZ_SIZE_X)
+ DLGRESIZE_CONTROL(IDC_STATIC_RESULTS, DLSZ_SIZE_X)
+ DLGRESIZE_CONTROL(IDC_RESULTS, DLSZ_SIZE_X | DLSZ_SIZE_Y)
+ DLGRESIZE_CONTROL(IDOK, DLSZ_MOVE_Y)
+ DLGRESIZE_CONTROL(ID_APP_ABOUT, DLSZ_CENTER_X | DLSZ_MOVE_Y)
+ DLGRESIZE_CONTROL(IDCANCEL, DLSZ_MOVE_X | DLSZ_MOVE_Y)
+ END_DLGRESIZE_MAP()
+
+ private:
+ BEGIN_MSG_MAP(CMainDlg)
+ CHAIN_MSG_MAP(CDialogResize)
+ MSG_WM_INITDIALOG(OnInitDialog)
+ MSG_WM_DESTROY(OnDestroy)
+ COMMAND_ID_HANDLER_EX(ID_APP_ABOUT, OnAppAbout)
+ COMMAND_ID_HANDLER_EX(IDOK, OnOK)
+ COMMAND_ID_HANDLER_EX(IDCANCEL, OnCancel)
+ MESSAGE_HANDLER_EX(UWM_PROGRESS, OnProgress)
+ MESSAGE_HANDLER_EX(UWM_ENUM_SYMBOLS_DONE, OnEnumSymbolsDone)
+ CHAIN_COMMANDS_MEMBER(m_resultsEdit)
+ END_MSG_MAP()
+
+ BOOL PreTranslateMessage(MSG* pMsg) override;
+
+ BOOL OnInitDialog(CWindow wndFocus, LPARAM lInitParam);
+ void OnDestroy();
+ void OnAppAbout(UINT uNotifyCode, int nID, CWindow wndCtl);
+ void OnOK(UINT uNotifyCode, int nID, CWindow wndCtl);
+ void OnCancel(UINT uNotifyCode, int nID, CWindow wndCtl);
+ LRESULT OnProgress(UINT uMsg, WPARAM wParam, LPARAM lParam);
+ LRESULT OnEnumSymbolsDone(UINT uMsg, WPARAM wParam, LPARAM lParam);
+
+ HACCEL m_accelerator = nullptr;
+ CEditView m_resultsEdit;
+ CFont m_resultsEditFont;
+
+ std::optional m_enumSymbolsThread;
+ CString m_enumSymbolsResult;
+};
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..3d70b68
--- /dev/null
+++ b/README.md
@@ -0,0 +1,11 @@
+# Windhawk Symbol Helper
+
+A tool to get symbols from executables the same way Windhawk mods do with the
+symbols API.
+
+The tool was created to help with Windhawk mod development.
+
+For more information about Windhawk, visit
+[windhawk.net](https://windhawk.net/).
+
+![Screenshot](screenshot.png)
diff --git a/finddlg.h b/finddlg.h
new file mode 100644
index 0000000..811babb
--- /dev/null
+++ b/finddlg.h
@@ -0,0 +1,71 @@
+
+#ifndef __FindReplaceDialogWithMessageFilter_h__
+#define __FindReplaceDialogWithMessageFilter_h__
+
+#pragma once
+
+#ifndef __cplusplus
+ #error ATL requires C++ compilation (use a .cpp suffix)
+#endif
+
+#ifndef __ATLAPP_H__
+ #error FindReplaceDialogWithMessageFilter.h requires atlapp.h to be included first
+#endif
+
+#ifndef __ATLWIN_H__
+ #error FindReplaceDialogWithMessageFilter.h requires atlwin.h to be included first
+#endif
+
+class CFindReplaceDialogWithMessageFilter :
+ public CFindReplaceDialogImpl,
+ public CMessageFilter
+{
+protected:
+ CMessageLoop* m_messageLoop;
+
+public:
+ CFindReplaceDialogWithMessageFilter(CMessageLoop* messageLoop) :
+ m_messageLoop(messageLoop)
+ {
+ }
+
+public:
+ BOOL PreTranslateMessage(MSG* pMsg)
+ {
+ HWND hWndFocus = ::GetFocus();
+ if((m_hWnd == hWndFocus) || this->IsChild(hWndFocus))
+ return this->IsDialogMessage(pMsg);
+
+ return FALSE;
+ }
+
+ virtual void OnFinalMessage(HWND /*hWnd*/)
+ {
+ delete this;
+ }
+
+ BEGIN_MSG_MAP(CFindReplaceDialogWithMessageFilter)
+ MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
+ MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
+ END_MSG_MAP()
+
+ LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled)
+ {
+ if(m_messageLoop)
+ m_messageLoop->AddMessageFilter(this);
+
+ bHandled = FALSE;
+ return 0;
+ }
+
+ LRESULT OnDestroy(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled)
+ {
+ if(m_messageLoop)
+ m_messageLoop->RemoveMessageFilter(this);
+
+ bHandled = FALSE;
+ return 0;
+ }
+};
+
+#endif //__FindReplaceDialogWithMessageFilter_h__
diff --git a/libraries/dia/cvconst.h b/libraries/dia/cvconst.h
new file mode 100644
index 0000000..a3445d1
--- /dev/null
+++ b/libraries/dia/cvconst.h
@@ -0,0 +1,4109 @@
+// cvconst.h - codeview constant definitions
+//-----------------------------------------------------------------
+//
+// Copyright Microsoft Corporation. All Rights Reserved.
+//
+//---------------------------------------------------------------
+#ifndef _CVCONST_H_
+#define _CVCONST_H_
+
+
+
+// Enumeration for function call type
+
+
+typedef enum CV_call_e
+{
+ CV_CALL_NEAR_C = 0x00, // near right to left push, caller pops stack
+ CV_CALL_FAR_C = 0x01, // far right to left push, caller pops stack
+ CV_CALL_NEAR_PASCAL = 0x02, // near left to right push, callee pops stack
+ CV_CALL_FAR_PASCAL = 0x03, // far left to right push, callee pops stack
+ CV_CALL_NEAR_FAST = 0x04, // near left to right push with regs, callee pops stack
+ CV_CALL_FAR_FAST = 0x05, // far left to right push with regs, callee pops stack
+ CV_CALL_SKIPPED = 0x06, // skipped (unused) call index
+ CV_CALL_NEAR_STD = 0x07, // near standard call
+ CV_CALL_FAR_STD = 0x08, // far standard call
+ CV_CALL_NEAR_SYS = 0x09, // near sys call
+ CV_CALL_FAR_SYS = 0x0a, // far sys call
+ CV_CALL_THISCALL = 0x0b, // this call (this passed in register)
+ CV_CALL_MIPSCALL = 0x0c, // Mips call
+ CV_CALL_GENERIC = 0x0d, // Generic call sequence
+ CV_CALL_ALPHACALL = 0x0e, // Alpha call
+ CV_CALL_PPCCALL = 0x0f, // PPC call
+ CV_CALL_SHCALL = 0x10, // Hitachi SuperH call
+ CV_CALL_ARMCALL = 0x11, // ARM call
+ CV_CALL_AM33CALL = 0x12, // AM33 call
+ CV_CALL_TRICALL = 0x13, // TriCore Call
+ CV_CALL_SH5CALL = 0x14, // Hitachi SuperH-5 call
+ CV_CALL_M32RCALL = 0x15, // M32R Call
+ CV_CALL_CLRCALL = 0x16, // clr call
+ CV_CALL_INLINE = 0x17, // Marker for routines always inlined and thus lacking a convention
+ CV_CALL_NEAR_VECTOR = 0x18, // near left to right push with regs, callee pops stack
+ CV_CALL_SWIFT = 0x19, // Swift calling convention
+ CV_CALL_RESERVED = 0x20 // first unused call enumeration
+
+ // Do NOT add any more machine specific conventions. This is to be used for
+ // calling conventions in the source only (e.g. __cdecl, __stdcall).
+} CV_call_e;
+
+
+// Values for the access protection of class attributes
+
+
+typedef enum CV_access_e
+{
+ CV_private = 1,
+ CV_protected = 2,
+ CV_public = 3
+} CV_access_e;
+
+
+typedef enum THUNK_ORDINAL
+{
+ THUNK_ORDINAL_NOTYPE, // standard thunk
+ THUNK_ORDINAL_ADJUSTOR, // "this" adjustor thunk
+ THUNK_ORDINAL_VCALL, // virtual call thunk
+ THUNK_ORDINAL_PCODE, // pcode thunk
+ THUNK_ORDINAL_LOAD, // thunk which loads the address to jump to
+ // via unknown means...
+
+ // trampoline thunk ordinals - only for use in Trampoline thunk symbols
+
+ THUNK_ORDINAL_TRAMP_INCREMENTAL,
+ THUNK_ORDINAL_TRAMP_BRANCHISLAND,
+ THUNK_ORDINAL_TRAMP_STRICTICF,
+} THUNK_ORDINAL;
+
+
+enum CV_SourceChksum_t
+{
+ CHKSUM_TYPE_NONE = 0, // indicates no checksum is available
+ CHKSUM_TYPE_MD5,
+ CHKSUM_TYPE_SHA1,
+ CHKSUM_TYPE_SHA_256,
+};
+
+//
+// DIA enums
+//
+
+enum SymTagEnum
+{
+ SymTagNull,
+ SymTagExe,
+ SymTagCompiland,
+ SymTagCompilandDetails,
+ SymTagCompilandEnv,
+ SymTagFunction,
+ SymTagBlock,
+ SymTagData,
+ SymTagAnnotation,
+ SymTagLabel,
+ SymTagPublicSymbol,
+ SymTagUDT,
+ SymTagEnum,
+ SymTagFunctionType,
+ SymTagPointerType,
+ SymTagArrayType,
+ SymTagBaseType,
+ SymTagTypedef,
+ SymTagBaseClass,
+ SymTagFriend,
+ SymTagFunctionArgType,
+ SymTagFuncDebugStart,
+ SymTagFuncDebugEnd,
+ SymTagUsingNamespace,
+ SymTagVTableShape,
+ SymTagVTable,
+ SymTagCustom,
+ SymTagThunk,
+ SymTagCustomType,
+ SymTagManagedType,
+ SymTagDimension,
+ SymTagCallSite,
+ SymTagInlineSite,
+ SymTagBaseInterface,
+ SymTagVectorType,
+ SymTagMatrixType,
+ SymTagHLSLType,
+ SymTagCaller,
+ SymTagCallee,
+ SymTagExport,
+ SymTagHeapAllocationSite,
+ SymTagCoffGroup,
+ SymTagInlinee,
+ SymTagMax
+};
+
+enum LocationType
+{
+ LocIsNull,
+ LocIsStatic,
+ LocIsTLS,
+ LocIsRegRel,
+ LocIsThisRel,
+ LocIsEnregistered,
+ LocIsBitField,
+ LocIsSlot,
+ LocIsIlRel,
+ LocInMetaData,
+ LocIsConstant,
+ LocIsRegRelAliasIndir,
+ LocTypeMax
+};
+
+enum DataKind
+{
+ DataIsUnknown,
+ DataIsLocal,
+ DataIsStaticLocal,
+ DataIsParam,
+ DataIsObjectPtr,
+ DataIsFileStatic,
+ DataIsGlobal,
+ DataIsMember,
+ DataIsStaticMember,
+ DataIsConstant
+};
+
+enum UdtKind
+{
+ UdtStruct,
+ UdtClass,
+ UdtUnion,
+ UdtInterface
+};
+
+enum BasicType
+{
+ btNoType = 0,
+ btVoid = 1,
+ btChar = 2,
+ btWChar = 3,
+ btInt = 6,
+ btUInt = 7,
+ btFloat = 8,
+ btBCD = 9,
+ btBool = 10,
+ btLong = 13,
+ btULong = 14,
+ btCurrency = 25,
+ btDate = 26,
+ btVariant = 27,
+ btComplex = 28,
+ btBit = 29,
+ btBSTR = 30,
+ btHresult = 31,
+ btChar16 = 32, // char16_t
+ btChar32 = 33, // char32_t
+ btChar8 = 34, // char8_t
+};
+
+
+// enumeration for type modifier values
+
+typedef enum CV_modifier_e
+{
+ // 0x0000 - 0x01ff - Reserved.
+
+ CV_MOD_INVALID = 0x0000,
+
+ // Standard modifiers.
+
+ CV_MOD_CONST = 0x0001,
+ CV_MOD_VOLATILE = 0x0002,
+ CV_MOD_UNALIGNED = 0x0003,
+
+ // 0x0200 - 0x03ff - HLSL modifiers.
+
+ CV_MOD_HLSL_UNIFORM = 0x0200,
+ CV_MOD_HLSL_LINE = 0x0201,
+ CV_MOD_HLSL_TRIANGLE = 0x0202,
+ CV_MOD_HLSL_LINEADJ = 0x0203,
+ CV_MOD_HLSL_TRIANGLEADJ = 0x0204,
+ CV_MOD_HLSL_LINEAR = 0x0205,
+ CV_MOD_HLSL_CENTROID = 0x0206,
+ CV_MOD_HLSL_CONSTINTERP = 0x0207,
+ CV_MOD_HLSL_NOPERSPECTIVE = 0x0208,
+ CV_MOD_HLSL_SAMPLE = 0x0209,
+ CV_MOD_HLSL_CENTER = 0x020a,
+ CV_MOD_HLSL_SNORM = 0x020b,
+ CV_MOD_HLSL_UNORM = 0x020c,
+ CV_MOD_HLSL_PRECISE = 0x020d,
+ CV_MOD_HLSL_UAV_GLOBALLY_COHERENT = 0x020e,
+
+ // 0x0400 - 0xffff - Unused.
+
+} CV_modifier_e;
+
+
+// built-in type kinds
+
+
+typedef enum CV_builtin_e
+{
+ // 0x0000 - 0x01ff - Reserved.
+ CV_BI_INVALID = 0x0000,
+
+ // 0x0200 - 0x03ff - HLSL types.
+
+ CV_BI_HLSL_INTERFACE_POINTER = 0x0200,
+ CV_BI_HLSL_TEXTURE1D = 0x0201,
+ CV_BI_HLSL_TEXTURE1D_ARRAY = 0x0202,
+ CV_BI_HLSL_TEXTURE2D = 0x0203,
+ CV_BI_HLSL_TEXTURE2D_ARRAY = 0x0204,
+ CV_BI_HLSL_TEXTURE3D = 0x0205,
+ CV_BI_HLSL_TEXTURECUBE = 0x0206,
+ CV_BI_HLSL_TEXTURECUBE_ARRAY = 0x0207,
+ CV_BI_HLSL_TEXTURE2DMS = 0x0208,
+ CV_BI_HLSL_TEXTURE2DMS_ARRAY = 0x0209,
+ CV_BI_HLSL_SAMPLER = 0x020a,
+ CV_BI_HLSL_SAMPLERCOMPARISON = 0x020b,
+ CV_BI_HLSL_BUFFER = 0x020c,
+ CV_BI_HLSL_POINTSTREAM = 0x020d,
+ CV_BI_HLSL_LINESTREAM = 0x020e,
+ CV_BI_HLSL_TRIANGLESTREAM = 0x020f,
+ CV_BI_HLSL_INPUTPATCH = 0x0210,
+ CV_BI_HLSL_OUTPUTPATCH = 0x0211,
+ CV_BI_HLSL_RWTEXTURE1D = 0x0212,
+ CV_BI_HLSL_RWTEXTURE1D_ARRAY = 0x0213,
+ CV_BI_HLSL_RWTEXTURE2D = 0x0214,
+ CV_BI_HLSL_RWTEXTURE2D_ARRAY = 0x0215,
+ CV_BI_HLSL_RWTEXTURE3D = 0x0216,
+ CV_BI_HLSL_RWBUFFER = 0x0217,
+ CV_BI_HLSL_BYTEADDRESS_BUFFER = 0x0218,
+ CV_BI_HLSL_RWBYTEADDRESS_BUFFER = 0x0219,
+ CV_BI_HLSL_STRUCTURED_BUFFER = 0x021a,
+ CV_BI_HLSL_RWSTRUCTURED_BUFFER = 0x021b,
+ CV_BI_HLSL_APPEND_STRUCTURED_BUFFER = 0x021c,
+ CV_BI_HLSL_CONSUME_STRUCTURED_BUFFER= 0x021d,
+ CV_BI_HLSL_MIN8FLOAT = 0x021e,
+ CV_BI_HLSL_MIN10FLOAT = 0x021f,
+ CV_BI_HLSL_MIN16FLOAT = 0x0220,
+ CV_BI_HLSL_MIN12INT = 0x0221,
+ CV_BI_HLSL_MIN16INT = 0x0222,
+ CV_BI_HLSL_MIN16UINT = 0x0223,
+ CV_BI_HLSL_CONSTANT_BUFFER = 0x0224,
+
+ // 0x0400 - 0xffff - Unused.
+
+} CV_builtin_e;
+
+
+// enum describing the compile flag source language
+
+
+typedef enum CV_CFL_LANG
+{
+ CV_CFL_C = 0x00,
+ CV_CFL_CXX = 0x01,
+ CV_CFL_FORTRAN = 0x02,
+ CV_CFL_MASM = 0x03,
+ CV_CFL_PASCAL = 0x04,
+ CV_CFL_BASIC = 0x05,
+ CV_CFL_COBOL = 0x06,
+ CV_CFL_LINK = 0x07,
+ CV_CFL_CVTRES = 0x08,
+ CV_CFL_CVTPGD = 0x09,
+ CV_CFL_CSHARP = 0x0A, // C#
+ CV_CFL_VB = 0x0B, // Visual Basic
+ CV_CFL_ILASM = 0x0C, // IL (as in CLR) ASM
+ CV_CFL_JAVA = 0x0D,
+ CV_CFL_JSCRIPT = 0x0E,
+ CV_CFL_MSIL = 0x0F, // Unknown MSIL (LTCG of .NETMODULE)
+ CV_CFL_HLSL = 0x10, // High Level Shader Language
+ CV_CFL_OBJC = 0x11, // Objective-C
+ CV_CFL_OBJCXX = 0x12, // Objective-C++
+ CV_CFL_SWIFT = 0x13, // Swift
+} CV_CFL_LANG;
+
+
+// enum describing target processor
+
+
+typedef enum CV_CPU_TYPE_e
+{
+ CV_CFL_8080 = 0x00,
+ CV_CFL_8086 = 0x01,
+ CV_CFL_80286 = 0x02,
+ CV_CFL_80386 = 0x03,
+ CV_CFL_80486 = 0x04,
+ CV_CFL_PENTIUM = 0x05,
+ CV_CFL_PENTIUMII = 0x06,
+ CV_CFL_PENTIUMPRO = CV_CFL_PENTIUMII,
+ CV_CFL_PENTIUMIII = 0x07,
+ CV_CFL_MIPS = 0x10,
+ CV_CFL_MIPSR4000 = CV_CFL_MIPS, // don't break current code
+ CV_CFL_MIPS16 = 0x11,
+ CV_CFL_MIPS32 = 0x12,
+ CV_CFL_MIPS64 = 0x13,
+ CV_CFL_MIPSI = 0x14,
+ CV_CFL_MIPSII = 0x15,
+ CV_CFL_MIPSIII = 0x16,
+ CV_CFL_MIPSIV = 0x17,
+ CV_CFL_MIPSV = 0x18,
+ CV_CFL_M68000 = 0x20,
+ CV_CFL_M68010 = 0x21,
+ CV_CFL_M68020 = 0x22,
+ CV_CFL_M68030 = 0x23,
+ CV_CFL_M68040 = 0x24,
+ CV_CFL_ALPHA = 0x30,
+ CV_CFL_ALPHA_21064 = 0x30,
+ CV_CFL_ALPHA_21164 = 0x31,
+ CV_CFL_ALPHA_21164A = 0x32,
+ CV_CFL_ALPHA_21264 = 0x33,
+ CV_CFL_ALPHA_21364 = 0x34,
+ CV_CFL_PPC601 = 0x40,
+ CV_CFL_PPC603 = 0x41,
+ CV_CFL_PPC604 = 0x42,
+ CV_CFL_PPC620 = 0x43,
+ CV_CFL_PPCFP = 0x44,
+ CV_CFL_PPCBE = 0x45,
+ CV_CFL_SH3 = 0x50,
+ CV_CFL_SH3E = 0x51,
+ CV_CFL_SH3DSP = 0x52,
+ CV_CFL_SH4 = 0x53,
+ CV_CFL_SHMEDIA = 0x54,
+ CV_CFL_ARM3 = 0x60,
+ CV_CFL_ARM4 = 0x61,
+ CV_CFL_ARM4T = 0x62,
+ CV_CFL_ARM5 = 0x63,
+ CV_CFL_ARM5T = 0x64,
+ CV_CFL_ARM6 = 0x65,
+ CV_CFL_ARM_XMAC = 0x66,
+ CV_CFL_ARM_WMMX = 0x67,
+ CV_CFL_ARM7 = 0x68,
+ CV_CFL_OMNI = 0x70,
+ CV_CFL_IA64 = 0x80,
+ CV_CFL_IA64_1 = 0x80,
+ CV_CFL_IA64_2 = 0x81,
+ CV_CFL_CEE = 0x90,
+ CV_CFL_AM33 = 0xA0,
+ CV_CFL_M32R = 0xB0,
+ CV_CFL_TRICORE = 0xC0,
+ CV_CFL_X64 = 0xD0,
+ CV_CFL_AMD64 = CV_CFL_X64,
+ CV_CFL_EBC = 0xE0,
+ CV_CFL_THUMB = 0xF0,
+ CV_CFL_ARMNT = 0xF4,
+ CV_CFL_ARM64 = 0xF6,
+ CV_CFL_HYBRID_X86_ARM64 = 0xF7,
+ CV_CFL_ARM64EC = 0xF8,
+ CV_CFL_ARM64X = 0xF9,
+ CV_CFL_D3D11_SHADER = 0x100,
+} CV_CPU_TYPE_e;
+
+typedef enum CV_HREG_e
+{
+ // Register subset shared by all processor types,
+ // must not overlap with any of the ranges below, hence the high values
+
+ CV_ALLREG_ERR = 30000,
+ CV_ALLREG_TEB = 30001,
+ CV_ALLREG_TIMER = 30002,
+ CV_ALLREG_EFAD1 = 30003,
+ CV_ALLREG_EFAD2 = 30004,
+ CV_ALLREG_EFAD3 = 30005,
+ CV_ALLREG_VFRAME= 30006,
+ CV_ALLREG_HANDLE= 30007,
+ CV_ALLREG_PARAMS= 30008,
+ CV_ALLREG_LOCALS= 30009,
+ CV_ALLREG_TID = 30010,
+ CV_ALLREG_ENV = 30011,
+ CV_ALLREG_CMDLN = 30012,
+
+
+ // Register set for the Intel 80x86 and ix86 processor series
+ // (plus PCODE registers)
+
+ CV_REG_NONE = 0,
+ CV_REG_AL = 1,
+ CV_REG_CL = 2,
+ CV_REG_DL = 3,
+ CV_REG_BL = 4,
+ CV_REG_AH = 5,
+ CV_REG_CH = 6,
+ CV_REG_DH = 7,
+ CV_REG_BH = 8,
+ CV_REG_AX = 9,
+ CV_REG_CX = 10,
+ CV_REG_DX = 11,
+ CV_REG_BX = 12,
+ CV_REG_SP = 13,
+ CV_REG_BP = 14,
+ CV_REG_SI = 15,
+ CV_REG_DI = 16,
+ CV_REG_EAX = 17,
+ CV_REG_ECX = 18,
+ CV_REG_EDX = 19,
+ CV_REG_EBX = 20,
+ CV_REG_ESP = 21,
+ CV_REG_EBP = 22,
+ CV_REG_ESI = 23,
+ CV_REG_EDI = 24,
+ CV_REG_ES = 25,
+ CV_REG_CS = 26,
+ CV_REG_SS = 27,
+ CV_REG_DS = 28,
+ CV_REG_FS = 29,
+ CV_REG_GS = 30,
+ CV_REG_IP = 31,
+ CV_REG_FLAGS = 32,
+ CV_REG_EIP = 33,
+ CV_REG_EFLAGS = 34,
+ CV_REG_TEMP = 40, // PCODE Temp
+ CV_REG_TEMPH = 41, // PCODE TempH
+ CV_REG_QUOTE = 42, // PCODE Quote
+ CV_REG_PCDR3 = 43, // PCODE reserved
+ CV_REG_PCDR4 = 44, // PCODE reserved
+ CV_REG_PCDR5 = 45, // PCODE reserved
+ CV_REG_PCDR6 = 46, // PCODE reserved
+ CV_REG_PCDR7 = 47, // PCODE reserved
+ CV_REG_CR0 = 80, // CR0 -- control registers
+ CV_REG_CR1 = 81,
+ CV_REG_CR2 = 82,
+ CV_REG_CR3 = 83,
+ CV_REG_CR4 = 84, // Pentium
+ CV_REG_DR0 = 90, // Debug register
+ CV_REG_DR1 = 91,
+ CV_REG_DR2 = 92,
+ CV_REG_DR3 = 93,
+ CV_REG_DR4 = 94,
+ CV_REG_DR5 = 95,
+ CV_REG_DR6 = 96,
+ CV_REG_DR7 = 97,
+ CV_REG_GDTR = 110,
+ CV_REG_GDTL = 111,
+ CV_REG_IDTR = 112,
+ CV_REG_IDTL = 113,
+ CV_REG_LDTR = 114,
+ CV_REG_TR = 115,
+
+ CV_REG_PSEUDO1 = 116,
+ CV_REG_PSEUDO2 = 117,
+ CV_REG_PSEUDO3 = 118,
+ CV_REG_PSEUDO4 = 119,
+ CV_REG_PSEUDO5 = 120,
+ CV_REG_PSEUDO6 = 121,
+ CV_REG_PSEUDO7 = 122,
+ CV_REG_PSEUDO8 = 123,
+ CV_REG_PSEUDO9 = 124,
+
+ CV_REG_ST0 = 128,
+ CV_REG_ST1 = 129,
+ CV_REG_ST2 = 130,
+ CV_REG_ST3 = 131,
+ CV_REG_ST4 = 132,
+ CV_REG_ST5 = 133,
+ CV_REG_ST6 = 134,
+ CV_REG_ST7 = 135,
+ CV_REG_CTRL = 136,
+ CV_REG_STAT = 137,
+ CV_REG_TAG = 138,
+ CV_REG_FPIP = 139,
+ CV_REG_FPCS = 140,
+ CV_REG_FPDO = 141,
+ CV_REG_FPDS = 142,
+ CV_REG_ISEM = 143,
+ CV_REG_FPEIP = 144,
+ CV_REG_FPEDO = 145,
+
+ CV_REG_MM0 = 146,
+ CV_REG_MM1 = 147,
+ CV_REG_MM2 = 148,
+ CV_REG_MM3 = 149,
+ CV_REG_MM4 = 150,
+ CV_REG_MM5 = 151,
+ CV_REG_MM6 = 152,
+ CV_REG_MM7 = 153,
+
+ CV_REG_XMM0 = 154, // KATMAI registers
+ CV_REG_XMM1 = 155,
+ CV_REG_XMM2 = 156,
+ CV_REG_XMM3 = 157,
+ CV_REG_XMM4 = 158,
+ CV_REG_XMM5 = 159,
+ CV_REG_XMM6 = 160,
+ CV_REG_XMM7 = 161,
+
+ CV_REG_XMM00 = 162, // KATMAI sub-registers
+ CV_REG_XMM01 = 163,
+ CV_REG_XMM02 = 164,
+ CV_REG_XMM03 = 165,
+ CV_REG_XMM10 = 166,
+ CV_REG_XMM11 = 167,
+ CV_REG_XMM12 = 168,
+ CV_REG_XMM13 = 169,
+ CV_REG_XMM20 = 170,
+ CV_REG_XMM21 = 171,
+ CV_REG_XMM22 = 172,
+ CV_REG_XMM23 = 173,
+ CV_REG_XMM30 = 174,
+ CV_REG_XMM31 = 175,
+ CV_REG_XMM32 = 176,
+ CV_REG_XMM33 = 177,
+ CV_REG_XMM40 = 178,
+ CV_REG_XMM41 = 179,
+ CV_REG_XMM42 = 180,
+ CV_REG_XMM43 = 181,
+ CV_REG_XMM50 = 182,
+ CV_REG_XMM51 = 183,
+ CV_REG_XMM52 = 184,
+ CV_REG_XMM53 = 185,
+ CV_REG_XMM60 = 186,
+ CV_REG_XMM61 = 187,
+ CV_REG_XMM62 = 188,
+ CV_REG_XMM63 = 189,
+ CV_REG_XMM70 = 190,
+ CV_REG_XMM71 = 191,
+ CV_REG_XMM72 = 192,
+ CV_REG_XMM73 = 193,
+
+ CV_REG_XMM0L = 194,
+ CV_REG_XMM1L = 195,
+ CV_REG_XMM2L = 196,
+ CV_REG_XMM3L = 197,
+ CV_REG_XMM4L = 198,
+ CV_REG_XMM5L = 199,
+ CV_REG_XMM6L = 200,
+ CV_REG_XMM7L = 201,
+
+ CV_REG_XMM0H = 202,
+ CV_REG_XMM1H = 203,
+ CV_REG_XMM2H = 204,
+ CV_REG_XMM3H = 205,
+ CV_REG_XMM4H = 206,
+ CV_REG_XMM5H = 207,
+ CV_REG_XMM6H = 208,
+ CV_REG_XMM7H = 209,
+
+ CV_REG_MXCSR = 211, // XMM status register
+
+ CV_REG_EDXEAX = 212, // EDX:EAX pair
+
+ CV_REG_EMM0L = 220, // XMM sub-registers (WNI integer)
+ CV_REG_EMM1L = 221,
+ CV_REG_EMM2L = 222,
+ CV_REG_EMM3L = 223,
+ CV_REG_EMM4L = 224,
+ CV_REG_EMM5L = 225,
+ CV_REG_EMM6L = 226,
+ CV_REG_EMM7L = 227,
+
+ CV_REG_EMM0H = 228,
+ CV_REG_EMM1H = 229,
+ CV_REG_EMM2H = 230,
+ CV_REG_EMM3H = 231,
+ CV_REG_EMM4H = 232,
+ CV_REG_EMM5H = 233,
+ CV_REG_EMM6H = 234,
+ CV_REG_EMM7H = 235,
+
+ // do not change the order of these regs, first one must be even too
+ CV_REG_MM00 = 236,
+ CV_REG_MM01 = 237,
+ CV_REG_MM10 = 238,
+ CV_REG_MM11 = 239,
+ CV_REG_MM20 = 240,
+ CV_REG_MM21 = 241,
+ CV_REG_MM30 = 242,
+ CV_REG_MM31 = 243,
+ CV_REG_MM40 = 244,
+ CV_REG_MM41 = 245,
+ CV_REG_MM50 = 246,
+ CV_REG_MM51 = 247,
+ CV_REG_MM60 = 248,
+ CV_REG_MM61 = 249,
+ CV_REG_MM70 = 250,
+ CV_REG_MM71 = 251,
+
+ CV_REG_YMM0 = 252, // AVX registers
+ CV_REG_YMM1 = 253,
+ CV_REG_YMM2 = 254,
+ CV_REG_YMM3 = 255,
+ CV_REG_YMM4 = 256,
+ CV_REG_YMM5 = 257,
+ CV_REG_YMM6 = 258,
+ CV_REG_YMM7 = 259,
+
+ CV_REG_YMM0H = 260,
+ CV_REG_YMM1H = 261,
+ CV_REG_YMM2H = 262,
+ CV_REG_YMM3H = 263,
+ CV_REG_YMM4H = 264,
+ CV_REG_YMM5H = 265,
+ CV_REG_YMM6H = 266,
+ CV_REG_YMM7H = 267,
+
+ CV_REG_YMM0I0 = 268, // AVX integer registers
+ CV_REG_YMM0I1 = 269,
+ CV_REG_YMM0I2 = 270,
+ CV_REG_YMM0I3 = 271,
+ CV_REG_YMM1I0 = 272,
+ CV_REG_YMM1I1 = 273,
+ CV_REG_YMM1I2 = 274,
+ CV_REG_YMM1I3 = 275,
+ CV_REG_YMM2I0 = 276,
+ CV_REG_YMM2I1 = 277,
+ CV_REG_YMM2I2 = 278,
+ CV_REG_YMM2I3 = 279,
+ CV_REG_YMM3I0 = 280,
+ CV_REG_YMM3I1 = 281,
+ CV_REG_YMM3I2 = 282,
+ CV_REG_YMM3I3 = 283,
+ CV_REG_YMM4I0 = 284,
+ CV_REG_YMM4I1 = 285,
+ CV_REG_YMM4I2 = 286,
+ CV_REG_YMM4I3 = 287,
+ CV_REG_YMM5I0 = 288,
+ CV_REG_YMM5I1 = 289,
+ CV_REG_YMM5I2 = 290,
+ CV_REG_YMM5I3 = 291,
+ CV_REG_YMM6I0 = 292,
+ CV_REG_YMM6I1 = 293,
+ CV_REG_YMM6I2 = 294,
+ CV_REG_YMM6I3 = 295,
+ CV_REG_YMM7I0 = 296,
+ CV_REG_YMM7I1 = 297,
+ CV_REG_YMM7I2 = 298,
+ CV_REG_YMM7I3 = 299,
+
+ CV_REG_YMM0F0 = 300, // AVX floating-point single precise registers
+ CV_REG_YMM0F1 = 301,
+ CV_REG_YMM0F2 = 302,
+ CV_REG_YMM0F3 = 303,
+ CV_REG_YMM0F4 = 304,
+ CV_REG_YMM0F5 = 305,
+ CV_REG_YMM0F6 = 306,
+ CV_REG_YMM0F7 = 307,
+ CV_REG_YMM1F0 = 308,
+ CV_REG_YMM1F1 = 309,
+ CV_REG_YMM1F2 = 310,
+ CV_REG_YMM1F3 = 311,
+ CV_REG_YMM1F4 = 312,
+ CV_REG_YMM1F5 = 313,
+ CV_REG_YMM1F6 = 314,
+ CV_REG_YMM1F7 = 315,
+ CV_REG_YMM2F0 = 316,
+ CV_REG_YMM2F1 = 317,
+ CV_REG_YMM2F2 = 318,
+ CV_REG_YMM2F3 = 319,
+ CV_REG_YMM2F4 = 320,
+ CV_REG_YMM2F5 = 321,
+ CV_REG_YMM2F6 = 322,
+ CV_REG_YMM2F7 = 323,
+ CV_REG_YMM3F0 = 324,
+ CV_REG_YMM3F1 = 325,
+ CV_REG_YMM3F2 = 326,
+ CV_REG_YMM3F3 = 327,
+ CV_REG_YMM3F4 = 328,
+ CV_REG_YMM3F5 = 329,
+ CV_REG_YMM3F6 = 330,
+ CV_REG_YMM3F7 = 331,
+ CV_REG_YMM4F0 = 332,
+ CV_REG_YMM4F1 = 333,
+ CV_REG_YMM4F2 = 334,
+ CV_REG_YMM4F3 = 335,
+ CV_REG_YMM4F4 = 336,
+ CV_REG_YMM4F5 = 337,
+ CV_REG_YMM4F6 = 338,
+ CV_REG_YMM4F7 = 339,
+ CV_REG_YMM5F0 = 340,
+ CV_REG_YMM5F1 = 341,
+ CV_REG_YMM5F2 = 342,
+ CV_REG_YMM5F3 = 343,
+ CV_REG_YMM5F4 = 344,
+ CV_REG_YMM5F5 = 345,
+ CV_REG_YMM5F6 = 346,
+ CV_REG_YMM5F7 = 347,
+ CV_REG_YMM6F0 = 348,
+ CV_REG_YMM6F1 = 349,
+ CV_REG_YMM6F2 = 350,
+ CV_REG_YMM6F3 = 351,
+ CV_REG_YMM6F4 = 352,
+ CV_REG_YMM6F5 = 353,
+ CV_REG_YMM6F6 = 354,
+ CV_REG_YMM6F7 = 355,
+ CV_REG_YMM7F0 = 356,
+ CV_REG_YMM7F1 = 357,
+ CV_REG_YMM7F2 = 358,
+ CV_REG_YMM7F3 = 359,
+ CV_REG_YMM7F4 = 360,
+ CV_REG_YMM7F5 = 361,
+ CV_REG_YMM7F6 = 362,
+ CV_REG_YMM7F7 = 363,
+
+ CV_REG_YMM0D0 = 364, // AVX floating-point double precise registers
+ CV_REG_YMM0D1 = 365,
+ CV_REG_YMM0D2 = 366,
+ CV_REG_YMM0D3 = 367,
+ CV_REG_YMM1D0 = 368,
+ CV_REG_YMM1D1 = 369,
+ CV_REG_YMM1D2 = 370,
+ CV_REG_YMM1D3 = 371,
+ CV_REG_YMM2D0 = 372,
+ CV_REG_YMM2D1 = 373,
+ CV_REG_YMM2D2 = 374,
+ CV_REG_YMM2D3 = 375,
+ CV_REG_YMM3D0 = 376,
+ CV_REG_YMM3D1 = 377,
+ CV_REG_YMM3D2 = 378,
+ CV_REG_YMM3D3 = 379,
+ CV_REG_YMM4D0 = 380,
+ CV_REG_YMM4D1 = 381,
+ CV_REG_YMM4D2 = 382,
+ CV_REG_YMM4D3 = 383,
+ CV_REG_YMM5D0 = 384,
+ CV_REG_YMM5D1 = 385,
+ CV_REG_YMM5D2 = 386,
+ CV_REG_YMM5D3 = 387,
+ CV_REG_YMM6D0 = 388,
+ CV_REG_YMM6D1 = 389,
+ CV_REG_YMM6D2 = 390,
+ CV_REG_YMM6D3 = 391,
+ CV_REG_YMM7D0 = 392,
+ CV_REG_YMM7D1 = 393,
+ CV_REG_YMM7D2 = 394,
+ CV_REG_YMM7D3 = 395,
+
+ CV_REG_BND0 = 396, // x86 MPX bounds registers
+ CV_REG_BND1 = 397,
+ CV_REG_BND2 = 398,
+ CV_REG_BND3 = 399,
+ CV_REG_BNDCFGU = 400,
+ CV_REG_BNDSTATUS = 401,
+
+ CV_REG_ZMM0 = 402, // AVX-512 registers
+ CV_REG_ZMM1 = 403,
+ CV_REG_ZMM2 = 404,
+ CV_REG_ZMM3 = 405,
+ CV_REG_ZMM4 = 406,
+ CV_REG_ZMM5 = 407,
+ CV_REG_ZMM6 = 408,
+ CV_REG_ZMM7 = 409,
+
+ CV_REG_ZMM0H = 410,
+ CV_REG_ZMM1H = 411,
+ CV_REG_ZMM2H = 412,
+ CV_REG_ZMM3H = 413,
+ CV_REG_ZMM4H = 414,
+ CV_REG_ZMM5H = 415,
+ CV_REG_ZMM6H = 416,
+ CV_REG_ZMM7H = 417,
+
+ CV_REG_K0 = 418,
+ CV_REG_K1 = 419,
+ CV_REG_K2 = 420,
+ CV_REG_K3 = 421,
+ CV_REG_K4 = 422,
+ CV_REG_K5 = 423,
+ CV_REG_K6 = 424,
+ CV_REG_K7 = 425,
+
+ CV_REG_SSP = 426, // CET- Shadow Stack Pointer
+
+ // registers for the 68K processors
+
+ CV_R68_D0 = 0,
+ CV_R68_D1 = 1,
+ CV_R68_D2 = 2,
+ CV_R68_D3 = 3,
+ CV_R68_D4 = 4,
+ CV_R68_D5 = 5,
+ CV_R68_D6 = 6,
+ CV_R68_D7 = 7,
+ CV_R68_A0 = 8,
+ CV_R68_A1 = 9,
+ CV_R68_A2 = 10,
+ CV_R68_A3 = 11,
+ CV_R68_A4 = 12,
+ CV_R68_A5 = 13,
+ CV_R68_A6 = 14,
+ CV_R68_A7 = 15,
+ CV_R68_CCR = 16,
+ CV_R68_SR = 17,
+ CV_R68_USP = 18,
+ CV_R68_MSP = 19,
+ CV_R68_SFC = 20,
+ CV_R68_DFC = 21,
+ CV_R68_CACR = 22,
+ CV_R68_VBR = 23,
+ CV_R68_CAAR = 24,
+ CV_R68_ISP = 25,
+ CV_R68_PC = 26,
+ //reserved 27
+ CV_R68_FPCR = 28,
+ CV_R68_FPSR = 29,
+ CV_R68_FPIAR = 30,
+ //reserved 31
+ CV_R68_FP0 = 32,
+ CV_R68_FP1 = 33,
+ CV_R68_FP2 = 34,
+ CV_R68_FP3 = 35,
+ CV_R68_FP4 = 36,
+ CV_R68_FP5 = 37,
+ CV_R68_FP6 = 38,
+ CV_R68_FP7 = 39,
+ //reserved 40
+ CV_R68_MMUSR030 = 41,
+ CV_R68_MMUSR = 42,
+ CV_R68_URP = 43,
+ CV_R68_DTT0 = 44,
+ CV_R68_DTT1 = 45,
+ CV_R68_ITT0 = 46,
+ CV_R68_ITT1 = 47,
+ //reserved 50
+ CV_R68_PSR = 51,
+ CV_R68_PCSR = 52,
+ CV_R68_VAL = 53,
+ CV_R68_CRP = 54,
+ CV_R68_SRP = 55,
+ CV_R68_DRP = 56,
+ CV_R68_TC = 57,
+ CV_R68_AC = 58,
+ CV_R68_SCC = 59,
+ CV_R68_CAL = 60,
+ CV_R68_TT0 = 61,
+ CV_R68_TT1 = 62,
+ //reserved 63
+ CV_R68_BAD0 = 64,
+ CV_R68_BAD1 = 65,
+ CV_R68_BAD2 = 66,
+ CV_R68_BAD3 = 67,
+ CV_R68_BAD4 = 68,
+ CV_R68_BAD5 = 69,
+ CV_R68_BAD6 = 70,
+ CV_R68_BAD7 = 71,
+ CV_R68_BAC0 = 72,
+ CV_R68_BAC1 = 73,
+ CV_R68_BAC2 = 74,
+ CV_R68_BAC3 = 75,
+ CV_R68_BAC4 = 76,
+ CV_R68_BAC5 = 77,
+ CV_R68_BAC6 = 78,
+ CV_R68_BAC7 = 79,
+
+ // Register set for the MIPS 4000
+
+ CV_M4_NOREG = CV_REG_NONE,
+
+ CV_M4_IntZERO = 10, /* CPU REGISTER */
+ CV_M4_IntAT = 11,
+ CV_M4_IntV0 = 12,
+ CV_M4_IntV1 = 13,
+ CV_M4_IntA0 = 14,
+ CV_M4_IntA1 = 15,
+ CV_M4_IntA2 = 16,
+ CV_M4_IntA3 = 17,
+ CV_M4_IntT0 = 18,
+ CV_M4_IntT1 = 19,
+ CV_M4_IntT2 = 20,
+ CV_M4_IntT3 = 21,
+ CV_M4_IntT4 = 22,
+ CV_M4_IntT5 = 23,
+ CV_M4_IntT6 = 24,
+ CV_M4_IntT7 = 25,
+ CV_M4_IntS0 = 26,
+ CV_M4_IntS1 = 27,
+ CV_M4_IntS2 = 28,
+ CV_M4_IntS3 = 29,
+ CV_M4_IntS4 = 30,
+ CV_M4_IntS5 = 31,
+ CV_M4_IntS6 = 32,
+ CV_M4_IntS7 = 33,
+ CV_M4_IntT8 = 34,
+ CV_M4_IntT9 = 35,
+ CV_M4_IntKT0 = 36,
+ CV_M4_IntKT1 = 37,
+ CV_M4_IntGP = 38,
+ CV_M4_IntSP = 39,
+ CV_M4_IntS8 = 40,
+ CV_M4_IntRA = 41,
+ CV_M4_IntLO = 42,
+ CV_M4_IntHI = 43,
+
+ CV_M4_Fir = 50,
+ CV_M4_Psr = 51,
+
+ CV_M4_FltF0 = 60, /* Floating point registers */
+ CV_M4_FltF1 = 61,
+ CV_M4_FltF2 = 62,
+ CV_M4_FltF3 = 63,
+ CV_M4_FltF4 = 64,
+ CV_M4_FltF5 = 65,
+ CV_M4_FltF6 = 66,
+ CV_M4_FltF7 = 67,
+ CV_M4_FltF8 = 68,
+ CV_M4_FltF9 = 69,
+ CV_M4_FltF10 = 70,
+ CV_M4_FltF11 = 71,
+ CV_M4_FltF12 = 72,
+ CV_M4_FltF13 = 73,
+ CV_M4_FltF14 = 74,
+ CV_M4_FltF15 = 75,
+ CV_M4_FltF16 = 76,
+ CV_M4_FltF17 = 77,
+ CV_M4_FltF18 = 78,
+ CV_M4_FltF19 = 79,
+ CV_M4_FltF20 = 80,
+ CV_M4_FltF21 = 81,
+ CV_M4_FltF22 = 82,
+ CV_M4_FltF23 = 83,
+ CV_M4_FltF24 = 84,
+ CV_M4_FltF25 = 85,
+ CV_M4_FltF26 = 86,
+ CV_M4_FltF27 = 87,
+ CV_M4_FltF28 = 88,
+ CV_M4_FltF29 = 89,
+ CV_M4_FltF30 = 90,
+ CV_M4_FltF31 = 91,
+ CV_M4_FltFsr = 92,
+
+
+ // Register set for the ALPHA AXP
+
+ CV_ALPHA_NOREG = CV_REG_NONE,
+
+ CV_ALPHA_FltF0 = 10, // Floating point registers
+ CV_ALPHA_FltF1 = 11,
+ CV_ALPHA_FltF2 = 12,
+ CV_ALPHA_FltF3 = 13,
+ CV_ALPHA_FltF4 = 14,
+ CV_ALPHA_FltF5 = 15,
+ CV_ALPHA_FltF6 = 16,
+ CV_ALPHA_FltF7 = 17,
+ CV_ALPHA_FltF8 = 18,
+ CV_ALPHA_FltF9 = 19,
+ CV_ALPHA_FltF10 = 20,
+ CV_ALPHA_FltF11 = 21,
+ CV_ALPHA_FltF12 = 22,
+ CV_ALPHA_FltF13 = 23,
+ CV_ALPHA_FltF14 = 24,
+ CV_ALPHA_FltF15 = 25,
+ CV_ALPHA_FltF16 = 26,
+ CV_ALPHA_FltF17 = 27,
+ CV_ALPHA_FltF18 = 28,
+ CV_ALPHA_FltF19 = 29,
+ CV_ALPHA_FltF20 = 30,
+ CV_ALPHA_FltF21 = 31,
+ CV_ALPHA_FltF22 = 32,
+ CV_ALPHA_FltF23 = 33,
+ CV_ALPHA_FltF24 = 34,
+ CV_ALPHA_FltF25 = 35,
+ CV_ALPHA_FltF26 = 36,
+ CV_ALPHA_FltF27 = 37,
+ CV_ALPHA_FltF28 = 38,
+ CV_ALPHA_FltF29 = 39,
+ CV_ALPHA_FltF30 = 40,
+ CV_ALPHA_FltF31 = 41,
+
+ CV_ALPHA_IntV0 = 42, // Integer registers
+ CV_ALPHA_IntT0 = 43,
+ CV_ALPHA_IntT1 = 44,
+ CV_ALPHA_IntT2 = 45,
+ CV_ALPHA_IntT3 = 46,
+ CV_ALPHA_IntT4 = 47,
+ CV_ALPHA_IntT5 = 48,
+ CV_ALPHA_IntT6 = 49,
+ CV_ALPHA_IntT7 = 50,
+ CV_ALPHA_IntS0 = 51,
+ CV_ALPHA_IntS1 = 52,
+ CV_ALPHA_IntS2 = 53,
+ CV_ALPHA_IntS3 = 54,
+ CV_ALPHA_IntS4 = 55,
+ CV_ALPHA_IntS5 = 56,
+ CV_ALPHA_IntFP = 57,
+ CV_ALPHA_IntA0 = 58,
+ CV_ALPHA_IntA1 = 59,
+ CV_ALPHA_IntA2 = 60,
+ CV_ALPHA_IntA3 = 61,
+ CV_ALPHA_IntA4 = 62,
+ CV_ALPHA_IntA5 = 63,
+ CV_ALPHA_IntT8 = 64,
+ CV_ALPHA_IntT9 = 65,
+ CV_ALPHA_IntT10 = 66,
+ CV_ALPHA_IntT11 = 67,
+ CV_ALPHA_IntRA = 68,
+ CV_ALPHA_IntT12 = 69,
+ CV_ALPHA_IntAT = 70,
+ CV_ALPHA_IntGP = 71,
+ CV_ALPHA_IntSP = 72,
+ CV_ALPHA_IntZERO = 73,
+
+
+ CV_ALPHA_Fpcr = 74, // Control registers
+ CV_ALPHA_Fir = 75,
+ CV_ALPHA_Psr = 76,
+ CV_ALPHA_FltFsr = 77,
+ CV_ALPHA_SoftFpcr = 78,
+
+ // Register Set for Motorola/IBM PowerPC
+
+ /*
+ ** PowerPC General Registers ( User Level )
+ */
+ CV_PPC_GPR0 = 1,
+ CV_PPC_GPR1 = 2,
+ CV_PPC_GPR2 = 3,
+ CV_PPC_GPR3 = 4,
+ CV_PPC_GPR4 = 5,
+ CV_PPC_GPR5 = 6,
+ CV_PPC_GPR6 = 7,
+ CV_PPC_GPR7 = 8,
+ CV_PPC_GPR8 = 9,
+ CV_PPC_GPR9 = 10,
+ CV_PPC_GPR10 = 11,
+ CV_PPC_GPR11 = 12,
+ CV_PPC_GPR12 = 13,
+ CV_PPC_GPR13 = 14,
+ CV_PPC_GPR14 = 15,
+ CV_PPC_GPR15 = 16,
+ CV_PPC_GPR16 = 17,
+ CV_PPC_GPR17 = 18,
+ CV_PPC_GPR18 = 19,
+ CV_PPC_GPR19 = 20,
+ CV_PPC_GPR20 = 21,
+ CV_PPC_GPR21 = 22,
+ CV_PPC_GPR22 = 23,
+ CV_PPC_GPR23 = 24,
+ CV_PPC_GPR24 = 25,
+ CV_PPC_GPR25 = 26,
+ CV_PPC_GPR26 = 27,
+ CV_PPC_GPR27 = 28,
+ CV_PPC_GPR28 = 29,
+ CV_PPC_GPR29 = 30,
+ CV_PPC_GPR30 = 31,
+ CV_PPC_GPR31 = 32,
+
+ /*
+ ** PowerPC Condition Register ( User Level )
+ */
+ CV_PPC_CR = 33,
+ CV_PPC_CR0 = 34,
+ CV_PPC_CR1 = 35,
+ CV_PPC_CR2 = 36,
+ CV_PPC_CR3 = 37,
+ CV_PPC_CR4 = 38,
+ CV_PPC_CR5 = 39,
+ CV_PPC_CR6 = 40,
+ CV_PPC_CR7 = 41,
+
+ /*
+ ** PowerPC Floating Point Registers ( User Level )
+ */
+ CV_PPC_FPR0 = 42,
+ CV_PPC_FPR1 = 43,
+ CV_PPC_FPR2 = 44,
+ CV_PPC_FPR3 = 45,
+ CV_PPC_FPR4 = 46,
+ CV_PPC_FPR5 = 47,
+ CV_PPC_FPR6 = 48,
+ CV_PPC_FPR7 = 49,
+ CV_PPC_FPR8 = 50,
+ CV_PPC_FPR9 = 51,
+ CV_PPC_FPR10 = 52,
+ CV_PPC_FPR11 = 53,
+ CV_PPC_FPR12 = 54,
+ CV_PPC_FPR13 = 55,
+ CV_PPC_FPR14 = 56,
+ CV_PPC_FPR15 = 57,
+ CV_PPC_FPR16 = 58,
+ CV_PPC_FPR17 = 59,
+ CV_PPC_FPR18 = 60,
+ CV_PPC_FPR19 = 61,
+ CV_PPC_FPR20 = 62,
+ CV_PPC_FPR21 = 63,
+ CV_PPC_FPR22 = 64,
+ CV_PPC_FPR23 = 65,
+ CV_PPC_FPR24 = 66,
+ CV_PPC_FPR25 = 67,
+ CV_PPC_FPR26 = 68,
+ CV_PPC_FPR27 = 69,
+ CV_PPC_FPR28 = 70,
+ CV_PPC_FPR29 = 71,
+ CV_PPC_FPR30 = 72,
+ CV_PPC_FPR31 = 73,
+
+ /*
+ ** PowerPC Floating Point Status and Control Register ( User Level )
+ */
+ CV_PPC_FPSCR = 74,
+
+ /*
+ ** PowerPC Machine State Register ( Supervisor Level )
+ */
+ CV_PPC_MSR = 75,
+
+ /*
+ ** PowerPC Segment Registers ( Supervisor Level )
+ */
+ CV_PPC_SR0 = 76,
+ CV_PPC_SR1 = 77,
+ CV_PPC_SR2 = 78,
+ CV_PPC_SR3 = 79,
+ CV_PPC_SR4 = 80,
+ CV_PPC_SR5 = 81,
+ CV_PPC_SR6 = 82,
+ CV_PPC_SR7 = 83,
+ CV_PPC_SR8 = 84,
+ CV_PPC_SR9 = 85,
+ CV_PPC_SR10 = 86,
+ CV_PPC_SR11 = 87,
+ CV_PPC_SR12 = 88,
+ CV_PPC_SR13 = 89,
+ CV_PPC_SR14 = 90,
+ CV_PPC_SR15 = 91,
+
+ /*
+ ** For all of the special purpose registers add 100 to the SPR# that the
+ ** Motorola/IBM documentation gives with the exception of any imaginary
+ ** registers.
+ */
+
+ /*
+ ** PowerPC Special Purpose Registers ( User Level )
+ */
+ CV_PPC_PC = 99, // PC (imaginary register)
+
+ CV_PPC_MQ = 100, // MPC601
+ CV_PPC_XER = 101,
+ CV_PPC_RTCU = 104, // MPC601
+ CV_PPC_RTCL = 105, // MPC601
+ CV_PPC_LR = 108,
+ CV_PPC_CTR = 109,
+
+ CV_PPC_COMPARE = 110, // part of XER (internal to the debugger only)
+ CV_PPC_COUNT = 111, // part of XER (internal to the debugger only)
+
+ /*
+ ** PowerPC Special Purpose Registers ( Supervisor Level )
+ */
+ CV_PPC_DSISR = 118,
+ CV_PPC_DAR = 119,
+ CV_PPC_DEC = 122,
+ CV_PPC_SDR1 = 125,
+ CV_PPC_SRR0 = 126,
+ CV_PPC_SRR1 = 127,
+ CV_PPC_SPRG0 = 372,
+ CV_PPC_SPRG1 = 373,
+ CV_PPC_SPRG2 = 374,
+ CV_PPC_SPRG3 = 375,
+ CV_PPC_ASR = 280, // 64-bit implementations only
+ CV_PPC_EAR = 382,
+ CV_PPC_PVR = 287,
+ CV_PPC_BAT0U = 628,
+ CV_PPC_BAT0L = 629,
+ CV_PPC_BAT1U = 630,
+ CV_PPC_BAT1L = 631,
+ CV_PPC_BAT2U = 632,
+ CV_PPC_BAT2L = 633,
+ CV_PPC_BAT3U = 634,
+ CV_PPC_BAT3L = 635,
+ CV_PPC_DBAT0U = 636,
+ CV_PPC_DBAT0L = 637,
+ CV_PPC_DBAT1U = 638,
+ CV_PPC_DBAT1L = 639,
+ CV_PPC_DBAT2U = 640,
+ CV_PPC_DBAT2L = 641,
+ CV_PPC_DBAT3U = 642,
+ CV_PPC_DBAT3L = 643,
+
+ /*
+ ** PowerPC Special Purpose Registers Implementation Dependent ( Supervisor Level )
+ */
+
+ /*
+ ** Doesn't appear that IBM/Motorola has finished defining these.
+ */
+
+ CV_PPC_PMR0 = 1044, // MPC620,
+ CV_PPC_PMR1 = 1045, // MPC620,
+ CV_PPC_PMR2 = 1046, // MPC620,
+ CV_PPC_PMR3 = 1047, // MPC620,
+ CV_PPC_PMR4 = 1048, // MPC620,
+ CV_PPC_PMR5 = 1049, // MPC620,
+ CV_PPC_PMR6 = 1050, // MPC620,
+ CV_PPC_PMR7 = 1051, // MPC620,
+ CV_PPC_PMR8 = 1052, // MPC620,
+ CV_PPC_PMR9 = 1053, // MPC620,
+ CV_PPC_PMR10 = 1054, // MPC620,
+ CV_PPC_PMR11 = 1055, // MPC620,
+ CV_PPC_PMR12 = 1056, // MPC620,
+ CV_PPC_PMR13 = 1057, // MPC620,
+ CV_PPC_PMR14 = 1058, // MPC620,
+ CV_PPC_PMR15 = 1059, // MPC620,
+
+ CV_PPC_DMISS = 1076, // MPC603
+ CV_PPC_DCMP = 1077, // MPC603
+ CV_PPC_HASH1 = 1078, // MPC603
+ CV_PPC_HASH2 = 1079, // MPC603
+ CV_PPC_IMISS = 1080, // MPC603
+ CV_PPC_ICMP = 1081, // MPC603
+ CV_PPC_RPA = 1082, // MPC603
+
+ CV_PPC_HID0 = 1108, // MPC601, MPC603, MPC620
+ CV_PPC_HID1 = 1109, // MPC601
+ CV_PPC_HID2 = 1110, // MPC601, MPC603, MPC620 ( IABR )
+ CV_PPC_HID3 = 1111, // Not Defined
+ CV_PPC_HID4 = 1112, // Not Defined
+ CV_PPC_HID5 = 1113, // MPC601, MPC604, MPC620 ( DABR )
+ CV_PPC_HID6 = 1114, // Not Defined
+ CV_PPC_HID7 = 1115, // Not Defined
+ CV_PPC_HID8 = 1116, // MPC620 ( BUSCSR )
+ CV_PPC_HID9 = 1117, // MPC620 ( L2CSR )
+ CV_PPC_HID10 = 1118, // Not Defined
+ CV_PPC_HID11 = 1119, // Not Defined
+ CV_PPC_HID12 = 1120, // Not Defined
+ CV_PPC_HID13 = 1121, // MPC604 ( HCR )
+ CV_PPC_HID14 = 1122, // Not Defined
+ CV_PPC_HID15 = 1123, // MPC601, MPC604, MPC620 ( PIR )
+
+ //
+ // JAVA VM registers
+ //
+
+ CV_JAVA_PC = 1,
+
+ //
+ // Register set for the Hitachi SH3
+ //
+
+ CV_SH3_NOREG = CV_REG_NONE,
+
+ CV_SH3_IntR0 = 10, // CPU REGISTER
+ CV_SH3_IntR1 = 11,
+ CV_SH3_IntR2 = 12,
+ CV_SH3_IntR3 = 13,
+ CV_SH3_IntR4 = 14,
+ CV_SH3_IntR5 = 15,
+ CV_SH3_IntR6 = 16,
+ CV_SH3_IntR7 = 17,
+ CV_SH3_IntR8 = 18,
+ CV_SH3_IntR9 = 19,
+ CV_SH3_IntR10 = 20,
+ CV_SH3_IntR11 = 21,
+ CV_SH3_IntR12 = 22,
+ CV_SH3_IntR13 = 23,
+ CV_SH3_IntFp = 24,
+ CV_SH3_IntSp = 25,
+ CV_SH3_Gbr = 38,
+ CV_SH3_Pr = 39,
+ CV_SH3_Mach = 40,
+ CV_SH3_Macl = 41,
+
+ CV_SH3_Pc = 50,
+ CV_SH3_Sr = 51,
+
+ CV_SH3_BarA = 60,
+ CV_SH3_BasrA = 61,
+ CV_SH3_BamrA = 62,
+ CV_SH3_BbrA = 63,
+ CV_SH3_BarB = 64,
+ CV_SH3_BasrB = 65,
+ CV_SH3_BamrB = 66,
+ CV_SH3_BbrB = 67,
+ CV_SH3_BdrB = 68,
+ CV_SH3_BdmrB = 69,
+ CV_SH3_Brcr = 70,
+
+ //
+ // Additional registers for Hitachi SH processors
+ //
+
+ CV_SH_Fpscr = 75, // floating point status/control register
+ CV_SH_Fpul = 76, // floating point communication register
+
+ CV_SH_FpR0 = 80, // Floating point registers
+ CV_SH_FpR1 = 81,
+ CV_SH_FpR2 = 82,
+ CV_SH_FpR3 = 83,
+ CV_SH_FpR4 = 84,
+ CV_SH_FpR5 = 85,
+ CV_SH_FpR6 = 86,
+ CV_SH_FpR7 = 87,
+ CV_SH_FpR8 = 88,
+ CV_SH_FpR9 = 89,
+ CV_SH_FpR10 = 90,
+ CV_SH_FpR11 = 91,
+ CV_SH_FpR12 = 92,
+ CV_SH_FpR13 = 93,
+ CV_SH_FpR14 = 94,
+ CV_SH_FpR15 = 95,
+
+ CV_SH_XFpR0 = 96,
+ CV_SH_XFpR1 = 97,
+ CV_SH_XFpR2 = 98,
+ CV_SH_XFpR3 = 99,
+ CV_SH_XFpR4 = 100,
+ CV_SH_XFpR5 = 101,
+ CV_SH_XFpR6 = 102,
+ CV_SH_XFpR7 = 103,
+ CV_SH_XFpR8 = 104,
+ CV_SH_XFpR9 = 105,
+ CV_SH_XFpR10 = 106,
+ CV_SH_XFpR11 = 107,
+ CV_SH_XFpR12 = 108,
+ CV_SH_XFpR13 = 109,
+ CV_SH_XFpR14 = 110,
+ CV_SH_XFpR15 = 111,
+
+ //
+ // Register set for the ARM processor.
+ //
+
+ CV_ARM_NOREG = CV_REG_NONE,
+
+ CV_ARM_R0 = 10,
+ CV_ARM_R1 = 11,
+ CV_ARM_R2 = 12,
+ CV_ARM_R3 = 13,
+ CV_ARM_R4 = 14,
+ CV_ARM_R5 = 15,
+ CV_ARM_R6 = 16,
+ CV_ARM_R7 = 17,
+ CV_ARM_R8 = 18,
+ CV_ARM_R9 = 19,
+ CV_ARM_R10 = 20,
+ CV_ARM_R11 = 21, // Frame pointer, if allocated
+ CV_ARM_R12 = 22,
+ CV_ARM_SP = 23, // Stack pointer
+ CV_ARM_LR = 24, // Link Register
+ CV_ARM_PC = 25, // Program counter
+ CV_ARM_CPSR = 26, // Current program status register
+
+ CV_ARM_ACC0 = 27, // DSP co-processor 0 40 bit accumulator
+
+ //
+ // Registers for ARM VFP10 support
+ //
+
+ CV_ARM_FPSCR = 40,
+ CV_ARM_FPEXC = 41,
+
+ CV_ARM_FS0 = 50,
+ CV_ARM_FS1 = 51,
+ CV_ARM_FS2 = 52,
+ CV_ARM_FS3 = 53,
+ CV_ARM_FS4 = 54,
+ CV_ARM_FS5 = 55,
+ CV_ARM_FS6 = 56,
+ CV_ARM_FS7 = 57,
+ CV_ARM_FS8 = 58,
+ CV_ARM_FS9 = 59,
+ CV_ARM_FS10 = 60,
+ CV_ARM_FS11 = 61,
+ CV_ARM_FS12 = 62,
+ CV_ARM_FS13 = 63,
+ CV_ARM_FS14 = 64,
+ CV_ARM_FS15 = 65,
+ CV_ARM_FS16 = 66,
+ CV_ARM_FS17 = 67,
+ CV_ARM_FS18 = 68,
+ CV_ARM_FS19 = 69,
+ CV_ARM_FS20 = 70,
+ CV_ARM_FS21 = 71,
+ CV_ARM_FS22 = 72,
+ CV_ARM_FS23 = 73,
+ CV_ARM_FS24 = 74,
+ CV_ARM_FS25 = 75,
+ CV_ARM_FS26 = 76,
+ CV_ARM_FS27 = 77,
+ CV_ARM_FS28 = 78,
+ CV_ARM_FS29 = 79,
+ CV_ARM_FS30 = 80,
+ CV_ARM_FS31 = 81,
+
+ //
+ // ARM VFP Floating Point Extra control registers
+ //
+
+ CV_ARM_FPEXTRA0 = 90,
+ CV_ARM_FPEXTRA1 = 91,
+ CV_ARM_FPEXTRA2 = 92,
+ CV_ARM_FPEXTRA3 = 93,
+ CV_ARM_FPEXTRA4 = 94,
+ CV_ARM_FPEXTRA5 = 95,
+ CV_ARM_FPEXTRA6 = 96,
+ CV_ARM_FPEXTRA7 = 97,
+
+ // XSCALE Concan co-processor registers
+ CV_ARM_WR0 = 128,
+ CV_ARM_WR1 = 129,
+ CV_ARM_WR2 = 130,
+ CV_ARM_WR3 = 131,
+ CV_ARM_WR4 = 132,
+ CV_ARM_WR5 = 133,
+ CV_ARM_WR6 = 134,
+ CV_ARM_WR7 = 135,
+ CV_ARM_WR8 = 136,
+ CV_ARM_WR9 = 137,
+ CV_ARM_WR10 = 138,
+ CV_ARM_WR11 = 139,
+ CV_ARM_WR12 = 140,
+ CV_ARM_WR13 = 141,
+ CV_ARM_WR14 = 142,
+ CV_ARM_WR15 = 143,
+
+ // XSCALE Concan co-processor control registers
+ CV_ARM_WCID = 144,
+ CV_ARM_WCON = 145,
+ CV_ARM_WCSSF = 146,
+ CV_ARM_WCASF = 147,
+ CV_ARM_WC4 = 148,
+ CV_ARM_WC5 = 149,
+ CV_ARM_WC6 = 150,
+ CV_ARM_WC7 = 151,
+ CV_ARM_WCGR0 = 152,
+ CV_ARM_WCGR1 = 153,
+ CV_ARM_WCGR2 = 154,
+ CV_ARM_WCGR3 = 155,
+ CV_ARM_WC12 = 156,
+ CV_ARM_WC13 = 157,
+ CV_ARM_WC14 = 158,
+ CV_ARM_WC15 = 159,
+
+ //
+ // ARM VFPv3/Neon extended floating Point
+ //
+
+ CV_ARM_FS32 = 200,
+ CV_ARM_FS33 = 201,
+ CV_ARM_FS34 = 202,
+ CV_ARM_FS35 = 203,
+ CV_ARM_FS36 = 204,
+ CV_ARM_FS37 = 205,
+ CV_ARM_FS38 = 206,
+ CV_ARM_FS39 = 207,
+ CV_ARM_FS40 = 208,
+ CV_ARM_FS41 = 209,
+ CV_ARM_FS42 = 210,
+ CV_ARM_FS43 = 211,
+ CV_ARM_FS44 = 212,
+ CV_ARM_FS45 = 213,
+ CV_ARM_FS46 = 214,
+ CV_ARM_FS47 = 215,
+ CV_ARM_FS48 = 216,
+ CV_ARM_FS49 = 217,
+ CV_ARM_FS50 = 218,
+ CV_ARM_FS51 = 219,
+ CV_ARM_FS52 = 220,
+ CV_ARM_FS53 = 221,
+ CV_ARM_FS54 = 222,
+ CV_ARM_FS55 = 223,
+ CV_ARM_FS56 = 224,
+ CV_ARM_FS57 = 225,
+ CV_ARM_FS58 = 226,
+ CV_ARM_FS59 = 227,
+ CV_ARM_FS60 = 228,
+ CV_ARM_FS61 = 229,
+ CV_ARM_FS62 = 230,
+ CV_ARM_FS63 = 231,
+
+ // ARM double-precision floating point
+
+ CV_ARM_ND0 = 300,
+ CV_ARM_ND1 = 301,
+ CV_ARM_ND2 = 302,
+ CV_ARM_ND3 = 303,
+ CV_ARM_ND4 = 304,
+ CV_ARM_ND5 = 305,
+ CV_ARM_ND6 = 306,
+ CV_ARM_ND7 = 307,
+ CV_ARM_ND8 = 308,
+ CV_ARM_ND9 = 309,
+ CV_ARM_ND10 = 310,
+ CV_ARM_ND11 = 311,
+ CV_ARM_ND12 = 312,
+ CV_ARM_ND13 = 313,
+ CV_ARM_ND14 = 314,
+ CV_ARM_ND15 = 315,
+ CV_ARM_ND16 = 316,
+ CV_ARM_ND17 = 317,
+ CV_ARM_ND18 = 318,
+ CV_ARM_ND19 = 319,
+ CV_ARM_ND20 = 320,
+ CV_ARM_ND21 = 321,
+ CV_ARM_ND22 = 322,
+ CV_ARM_ND23 = 323,
+ CV_ARM_ND24 = 324,
+ CV_ARM_ND25 = 325,
+ CV_ARM_ND26 = 326,
+ CV_ARM_ND27 = 327,
+ CV_ARM_ND28 = 328,
+ CV_ARM_ND29 = 329,
+ CV_ARM_ND30 = 330,
+ CV_ARM_ND31 = 331,
+
+ // ARM extended precision floating point
+
+ CV_ARM_NQ0 = 400,
+ CV_ARM_NQ1 = 401,
+ CV_ARM_NQ2 = 402,
+ CV_ARM_NQ3 = 403,
+ CV_ARM_NQ4 = 404,
+ CV_ARM_NQ5 = 405,
+ CV_ARM_NQ6 = 406,
+ CV_ARM_NQ7 = 407,
+ CV_ARM_NQ8 = 408,
+ CV_ARM_NQ9 = 409,
+ CV_ARM_NQ10 = 410,
+ CV_ARM_NQ11 = 411,
+ CV_ARM_NQ12 = 412,
+ CV_ARM_NQ13 = 413,
+ CV_ARM_NQ14 = 414,
+ CV_ARM_NQ15 = 415,
+
+ //
+ // Register set for ARM64
+ //
+
+ CV_ARM64_NOREG = CV_REG_NONE,
+
+ // General purpose 32-bit integer registers
+
+ CV_ARM64_W0 = 10,
+ CV_ARM64_W1 = 11,
+ CV_ARM64_W2 = 12,
+ CV_ARM64_W3 = 13,
+ CV_ARM64_W4 = 14,
+ CV_ARM64_W5 = 15,
+ CV_ARM64_W6 = 16,
+ CV_ARM64_W7 = 17,
+ CV_ARM64_W8 = 18,
+ CV_ARM64_W9 = 19,
+ CV_ARM64_W10 = 20,
+ CV_ARM64_W11 = 21,
+ CV_ARM64_W12 = 22,
+ CV_ARM64_W13 = 23,
+ CV_ARM64_W14 = 24,
+ CV_ARM64_W15 = 25,
+ CV_ARM64_W16 = 26,
+ CV_ARM64_W17 = 27,
+ CV_ARM64_W18 = 28,
+ CV_ARM64_W19 = 29,
+ CV_ARM64_W20 = 30,
+ CV_ARM64_W21 = 31,
+ CV_ARM64_W22 = 32,
+ CV_ARM64_W23 = 33,
+ CV_ARM64_W24 = 34,
+ CV_ARM64_W25 = 35,
+ CV_ARM64_W26 = 36,
+ CV_ARM64_W27 = 37,
+ CV_ARM64_W28 = 38,
+ CV_ARM64_W29 = 39,
+ CV_ARM64_W30 = 40,
+ CV_ARM64_WZR = 41,
+
+ // General purpose 64-bit integer registers
+
+ CV_ARM64_X0 = 50,
+ CV_ARM64_X1 = 51,
+ CV_ARM64_X2 = 52,
+ CV_ARM64_X3 = 53,
+ CV_ARM64_X4 = 54,
+ CV_ARM64_X5 = 55,
+ CV_ARM64_X6 = 56,
+ CV_ARM64_X7 = 57,
+ CV_ARM64_X8 = 58,
+ CV_ARM64_X9 = 59,
+ CV_ARM64_X10 = 60,
+ CV_ARM64_X11 = 61,
+ CV_ARM64_X12 = 62,
+ CV_ARM64_X13 = 63,
+ CV_ARM64_X14 = 64,
+ CV_ARM64_X15 = 65,
+ CV_ARM64_IP0 = 66,
+ CV_ARM64_IP1 = 67,
+ CV_ARM64_X18 = 68,
+ CV_ARM64_X19 = 69,
+ CV_ARM64_X20 = 70,
+ CV_ARM64_X21 = 71,
+ CV_ARM64_X22 = 72,
+ CV_ARM64_X23 = 73,
+ CV_ARM64_X24 = 74,
+ CV_ARM64_X25 = 75,
+ CV_ARM64_X26 = 76,
+ CV_ARM64_X27 = 77,
+ CV_ARM64_X28 = 78,
+ CV_ARM64_FP = 79,
+ CV_ARM64_LR = 80,
+ CV_ARM64_SP = 81,
+ CV_ARM64_ZR = 82,
+ CV_ARM64_PC = 83,
+
+ // status registers
+
+ CV_ARM64_NZCV = 90,
+ CV_ARM64_CPSR = 91,
+
+ // 32-bit floating point registers
+
+ CV_ARM64_S0 = 100,
+ CV_ARM64_S1 = 101,
+ CV_ARM64_S2 = 102,
+ CV_ARM64_S3 = 103,
+ CV_ARM64_S4 = 104,
+ CV_ARM64_S5 = 105,
+ CV_ARM64_S6 = 106,
+ CV_ARM64_S7 = 107,
+ CV_ARM64_S8 = 108,
+ CV_ARM64_S9 = 109,
+ CV_ARM64_S10 = 110,
+ CV_ARM64_S11 = 111,
+ CV_ARM64_S12 = 112,
+ CV_ARM64_S13 = 113,
+ CV_ARM64_S14 = 114,
+ CV_ARM64_S15 = 115,
+ CV_ARM64_S16 = 116,
+ CV_ARM64_S17 = 117,
+ CV_ARM64_S18 = 118,
+ CV_ARM64_S19 = 119,
+ CV_ARM64_S20 = 120,
+ CV_ARM64_S21 = 121,
+ CV_ARM64_S22 = 122,
+ CV_ARM64_S23 = 123,
+ CV_ARM64_S24 = 124,
+ CV_ARM64_S25 = 125,
+ CV_ARM64_S26 = 126,
+ CV_ARM64_S27 = 127,
+ CV_ARM64_S28 = 128,
+ CV_ARM64_S29 = 129,
+ CV_ARM64_S30 = 130,
+ CV_ARM64_S31 = 131,
+
+ // 64-bit floating point registers
+
+ CV_ARM64_D0 = 140,
+ CV_ARM64_D1 = 141,
+ CV_ARM64_D2 = 142,
+ CV_ARM64_D3 = 143,
+ CV_ARM64_D4 = 144,
+ CV_ARM64_D5 = 145,
+ CV_ARM64_D6 = 146,
+ CV_ARM64_D7 = 147,
+ CV_ARM64_D8 = 148,
+ CV_ARM64_D9 = 149,
+ CV_ARM64_D10 = 150,
+ CV_ARM64_D11 = 151,
+ CV_ARM64_D12 = 152,
+ CV_ARM64_D13 = 153,
+ CV_ARM64_D14 = 154,
+ CV_ARM64_D15 = 155,
+ CV_ARM64_D16 = 156,
+ CV_ARM64_D17 = 157,
+ CV_ARM64_D18 = 158,
+ CV_ARM64_D19 = 159,
+ CV_ARM64_D20 = 160,
+ CV_ARM64_D21 = 161,
+ CV_ARM64_D22 = 162,
+ CV_ARM64_D23 = 163,
+ CV_ARM64_D24 = 164,
+ CV_ARM64_D25 = 165,
+ CV_ARM64_D26 = 166,
+ CV_ARM64_D27 = 167,
+ CV_ARM64_D28 = 168,
+ CV_ARM64_D29 = 169,
+ CV_ARM64_D30 = 170,
+ CV_ARM64_D31 = 171,
+
+ // 128-bit SIMD registers
+
+ CV_ARM64_Q0 = 180,
+ CV_ARM64_Q1 = 181,
+ CV_ARM64_Q2 = 182,
+ CV_ARM64_Q3 = 183,
+ CV_ARM64_Q4 = 184,
+ CV_ARM64_Q5 = 185,
+ CV_ARM64_Q6 = 186,
+ CV_ARM64_Q7 = 187,
+ CV_ARM64_Q8 = 188,
+ CV_ARM64_Q9 = 189,
+ CV_ARM64_Q10 = 190,
+ CV_ARM64_Q11 = 191,
+ CV_ARM64_Q12 = 192,
+ CV_ARM64_Q13 = 193,
+ CV_ARM64_Q14 = 194,
+ CV_ARM64_Q15 = 195,
+ CV_ARM64_Q16 = 196,
+ CV_ARM64_Q17 = 197,
+ CV_ARM64_Q18 = 198,
+ CV_ARM64_Q19 = 199,
+ CV_ARM64_Q20 = 200,
+ CV_ARM64_Q21 = 201,
+ CV_ARM64_Q22 = 202,
+ CV_ARM64_Q23 = 203,
+ CV_ARM64_Q24 = 204,
+ CV_ARM64_Q25 = 205,
+ CV_ARM64_Q26 = 206,
+ CV_ARM64_Q27 = 207,
+ CV_ARM64_Q28 = 208,
+ CV_ARM64_Q29 = 209,
+ CV_ARM64_Q30 = 210,
+ CV_ARM64_Q31 = 211,
+
+ // Floating point status register
+
+ CV_ARM64_FPSR = 220,
+ CV_ARM64_FPCR = 221,
+
+ // 8-bit floating point registers
+
+ CV_ARM64_B0 = 230,
+ CV_ARM64_B1 = 231,
+ CV_ARM64_B2 = 232,
+ CV_ARM64_B3 = 233,
+ CV_ARM64_B4 = 234,
+ CV_ARM64_B5 = 235,
+ CV_ARM64_B6 = 236,
+ CV_ARM64_B7 = 237,
+ CV_ARM64_B8 = 238,
+ CV_ARM64_B9 = 239,
+ CV_ARM64_B10 = 240,
+ CV_ARM64_B11 = 241,
+ CV_ARM64_B12 = 242,
+ CV_ARM64_B13 = 243,
+ CV_ARM64_B14 = 244,
+ CV_ARM64_B15 = 245,
+ CV_ARM64_B16 = 246,
+ CV_ARM64_B17 = 247,
+ CV_ARM64_B18 = 248,
+ CV_ARM64_B19 = 249,
+ CV_ARM64_B20 = 250,
+ CV_ARM64_B21 = 251,
+ CV_ARM64_B22 = 252,
+ CV_ARM64_B23 = 253,
+ CV_ARM64_B24 = 254,
+ CV_ARM64_B25 = 255,
+ CV_ARM64_B26 = 256,
+ CV_ARM64_B27 = 257,
+ CV_ARM64_B28 = 258,
+ CV_ARM64_B29 = 259,
+ CV_ARM64_B30 = 260,
+ CV_ARM64_B31 = 261,
+
+ // 16-bit floating point registers
+
+ CV_ARM64_H0 = 270,
+ CV_ARM64_H1 = 271,
+ CV_ARM64_H2 = 272,
+ CV_ARM64_H3 = 273,
+ CV_ARM64_H4 = 274,
+ CV_ARM64_H5 = 275,
+ CV_ARM64_H6 = 276,
+ CV_ARM64_H7 = 277,
+ CV_ARM64_H8 = 278,
+ CV_ARM64_H9 = 279,
+ CV_ARM64_H10 = 280,
+ CV_ARM64_H11 = 281,
+ CV_ARM64_H12 = 282,
+ CV_ARM64_H13 = 283,
+ CV_ARM64_H14 = 284,
+ CV_ARM64_H15 = 285,
+ CV_ARM64_H16 = 286,
+ CV_ARM64_H17 = 287,
+ CV_ARM64_H18 = 288,
+ CV_ARM64_H19 = 289,
+ CV_ARM64_H20 = 290,
+ CV_ARM64_H21 = 291,
+ CV_ARM64_H22 = 292,
+ CV_ARM64_H23 = 293,
+ CV_ARM64_H24 = 294,
+ CV_ARM64_H25 = 295,
+ CV_ARM64_H26 = 296,
+ CV_ARM64_H27 = 297,
+ CV_ARM64_H28 = 298,
+ CV_ARM64_H29 = 299,
+ CV_ARM64_H30 = 300,
+ CV_ARM64_H31 = 301,
+
+ // 128-bit vector registers
+
+ CV_ARM64_V0 = 310,
+ CV_ARM64_V1 = 311,
+ CV_ARM64_V2 = 312,
+ CV_ARM64_V3 = 313,
+ CV_ARM64_V4 = 314,
+ CV_ARM64_V5 = 315,
+ CV_ARM64_V6 = 316,
+ CV_ARM64_V7 = 317,
+ CV_ARM64_V8 = 318,
+ CV_ARM64_V9 = 319,
+ CV_ARM64_V10 = 320,
+ CV_ARM64_V11 = 321,
+ CV_ARM64_V12 = 322,
+ CV_ARM64_V13 = 323,
+ CV_ARM64_V14 = 324,
+ CV_ARM64_V15 = 325,
+ CV_ARM64_V16 = 326,
+ CV_ARM64_V17 = 327,
+ CV_ARM64_V18 = 328,
+ CV_ARM64_V19 = 329,
+ CV_ARM64_V20 = 330,
+ CV_ARM64_V21 = 331,
+ CV_ARM64_V22 = 332,
+ CV_ARM64_V23 = 333,
+ CV_ARM64_V24 = 334,
+ CV_ARM64_V25 = 335,
+ CV_ARM64_V26 = 336,
+ CV_ARM64_V27 = 337,
+ CV_ARM64_V28 = 338,
+ CV_ARM64_V29 = 339,
+ CV_ARM64_V30 = 340,
+ CV_ARM64_V31 = 341,
+
+ // 128-bit SIMD registers upper 64 bits
+
+ CV_ARM64_Q0H = 350,
+ CV_ARM64_Q1H = 351,
+ CV_ARM64_Q2H = 352,
+ CV_ARM64_Q3H = 353,
+ CV_ARM64_Q4H = 354,
+ CV_ARM64_Q5H = 355,
+ CV_ARM64_Q6H = 356,
+ CV_ARM64_Q7H = 357,
+ CV_ARM64_Q8H = 358,
+ CV_ARM64_Q9H = 359,
+ CV_ARM64_Q10H = 360,
+ CV_ARM64_Q11H = 361,
+ CV_ARM64_Q12H = 362,
+ CV_ARM64_Q13H = 363,
+ CV_ARM64_Q14H = 364,
+ CV_ARM64_Q15H = 365,
+ CV_ARM64_Q16H = 366,
+ CV_ARM64_Q17H = 367,
+ CV_ARM64_Q18H = 368,
+ CV_ARM64_Q19H = 369,
+ CV_ARM64_Q20H = 370,
+ CV_ARM64_Q21H = 371,
+ CV_ARM64_Q22H = 372,
+ CV_ARM64_Q23H = 373,
+ CV_ARM64_Q24H = 374,
+ CV_ARM64_Q25H = 375,
+ CV_ARM64_Q26H = 376,
+ CV_ARM64_Q27H = 377,
+ CV_ARM64_Q28H = 378,
+ CV_ARM64_Q29H = 379,
+ CV_ARM64_Q30H = 380,
+ CV_ARM64_Q31H = 381,
+
+ //
+ // Register set for Intel IA64
+ //
+
+ CV_IA64_NOREG = CV_REG_NONE,
+
+ // Branch Registers
+
+ CV_IA64_Br0 = 512,
+ CV_IA64_Br1 = 513,
+ CV_IA64_Br2 = 514,
+ CV_IA64_Br3 = 515,
+ CV_IA64_Br4 = 516,
+ CV_IA64_Br5 = 517,
+ CV_IA64_Br6 = 518,
+ CV_IA64_Br7 = 519,
+
+ // Predicate Registers
+
+ CV_IA64_P0 = 704,
+ CV_IA64_P1 = 705,
+ CV_IA64_P2 = 706,
+ CV_IA64_P3 = 707,
+ CV_IA64_P4 = 708,
+ CV_IA64_P5 = 709,
+ CV_IA64_P6 = 710,
+ CV_IA64_P7 = 711,
+ CV_IA64_P8 = 712,
+ CV_IA64_P9 = 713,
+ CV_IA64_P10 = 714,
+ CV_IA64_P11 = 715,
+ CV_IA64_P12 = 716,
+ CV_IA64_P13 = 717,
+ CV_IA64_P14 = 718,
+ CV_IA64_P15 = 719,
+ CV_IA64_P16 = 720,
+ CV_IA64_P17 = 721,
+ CV_IA64_P18 = 722,
+ CV_IA64_P19 = 723,
+ CV_IA64_P20 = 724,
+ CV_IA64_P21 = 725,
+ CV_IA64_P22 = 726,
+ CV_IA64_P23 = 727,
+ CV_IA64_P24 = 728,
+ CV_IA64_P25 = 729,
+ CV_IA64_P26 = 730,
+ CV_IA64_P27 = 731,
+ CV_IA64_P28 = 732,
+ CV_IA64_P29 = 733,
+ CV_IA64_P30 = 734,
+ CV_IA64_P31 = 735,
+ CV_IA64_P32 = 736,
+ CV_IA64_P33 = 737,
+ CV_IA64_P34 = 738,
+ CV_IA64_P35 = 739,
+ CV_IA64_P36 = 740,
+ CV_IA64_P37 = 741,
+ CV_IA64_P38 = 742,
+ CV_IA64_P39 = 743,
+ CV_IA64_P40 = 744,
+ CV_IA64_P41 = 745,
+ CV_IA64_P42 = 746,
+ CV_IA64_P43 = 747,
+ CV_IA64_P44 = 748,
+ CV_IA64_P45 = 749,
+ CV_IA64_P46 = 750,
+ CV_IA64_P47 = 751,
+ CV_IA64_P48 = 752,
+ CV_IA64_P49 = 753,
+ CV_IA64_P50 = 754,
+ CV_IA64_P51 = 755,
+ CV_IA64_P52 = 756,
+ CV_IA64_P53 = 757,
+ CV_IA64_P54 = 758,
+ CV_IA64_P55 = 759,
+ CV_IA64_P56 = 760,
+ CV_IA64_P57 = 761,
+ CV_IA64_P58 = 762,
+ CV_IA64_P59 = 763,
+ CV_IA64_P60 = 764,
+ CV_IA64_P61 = 765,
+ CV_IA64_P62 = 766,
+ CV_IA64_P63 = 767,
+
+ CV_IA64_Preds = 768,
+
+ // Banked General Registers
+
+ CV_IA64_IntH0 = 832,
+ CV_IA64_IntH1 = 833,
+ CV_IA64_IntH2 = 834,
+ CV_IA64_IntH3 = 835,
+ CV_IA64_IntH4 = 836,
+ CV_IA64_IntH5 = 837,
+ CV_IA64_IntH6 = 838,
+ CV_IA64_IntH7 = 839,
+ CV_IA64_IntH8 = 840,
+ CV_IA64_IntH9 = 841,
+ CV_IA64_IntH10 = 842,
+ CV_IA64_IntH11 = 843,
+ CV_IA64_IntH12 = 844,
+ CV_IA64_IntH13 = 845,
+ CV_IA64_IntH14 = 846,
+ CV_IA64_IntH15 = 847,
+
+ // Special Registers
+
+ CV_IA64_Ip = 1016,
+ CV_IA64_Umask = 1017,
+ CV_IA64_Cfm = 1018,
+ CV_IA64_Psr = 1019,
+
+ // Banked General Registers
+
+ CV_IA64_Nats = 1020,
+ CV_IA64_Nats2 = 1021,
+ CV_IA64_Nats3 = 1022,
+
+ // General-Purpose Registers
+
+ // Integer registers
+ CV_IA64_IntR0 = 1024,
+ CV_IA64_IntR1 = 1025,
+ CV_IA64_IntR2 = 1026,
+ CV_IA64_IntR3 = 1027,
+ CV_IA64_IntR4 = 1028,
+ CV_IA64_IntR5 = 1029,
+ CV_IA64_IntR6 = 1030,
+ CV_IA64_IntR7 = 1031,
+ CV_IA64_IntR8 = 1032,
+ CV_IA64_IntR9 = 1033,
+ CV_IA64_IntR10 = 1034,
+ CV_IA64_IntR11 = 1035,
+ CV_IA64_IntR12 = 1036,
+ CV_IA64_IntR13 = 1037,
+ CV_IA64_IntR14 = 1038,
+ CV_IA64_IntR15 = 1039,
+ CV_IA64_IntR16 = 1040,
+ CV_IA64_IntR17 = 1041,
+ CV_IA64_IntR18 = 1042,
+ CV_IA64_IntR19 = 1043,
+ CV_IA64_IntR20 = 1044,
+ CV_IA64_IntR21 = 1045,
+ CV_IA64_IntR22 = 1046,
+ CV_IA64_IntR23 = 1047,
+ CV_IA64_IntR24 = 1048,
+ CV_IA64_IntR25 = 1049,
+ CV_IA64_IntR26 = 1050,
+ CV_IA64_IntR27 = 1051,
+ CV_IA64_IntR28 = 1052,
+ CV_IA64_IntR29 = 1053,
+ CV_IA64_IntR30 = 1054,
+ CV_IA64_IntR31 = 1055,
+
+ // Register Stack
+ CV_IA64_IntR32 = 1056,
+ CV_IA64_IntR33 = 1057,
+ CV_IA64_IntR34 = 1058,
+ CV_IA64_IntR35 = 1059,
+ CV_IA64_IntR36 = 1060,
+ CV_IA64_IntR37 = 1061,
+ CV_IA64_IntR38 = 1062,
+ CV_IA64_IntR39 = 1063,
+ CV_IA64_IntR40 = 1064,
+ CV_IA64_IntR41 = 1065,
+ CV_IA64_IntR42 = 1066,
+ CV_IA64_IntR43 = 1067,
+ CV_IA64_IntR44 = 1068,
+ CV_IA64_IntR45 = 1069,
+ CV_IA64_IntR46 = 1070,
+ CV_IA64_IntR47 = 1071,
+ CV_IA64_IntR48 = 1072,
+ CV_IA64_IntR49 = 1073,
+ CV_IA64_IntR50 = 1074,
+ CV_IA64_IntR51 = 1075,
+ CV_IA64_IntR52 = 1076,
+ CV_IA64_IntR53 = 1077,
+ CV_IA64_IntR54 = 1078,
+ CV_IA64_IntR55 = 1079,
+ CV_IA64_IntR56 = 1080,
+ CV_IA64_IntR57 = 1081,
+ CV_IA64_IntR58 = 1082,
+ CV_IA64_IntR59 = 1083,
+ CV_IA64_IntR60 = 1084,
+ CV_IA64_IntR61 = 1085,
+ CV_IA64_IntR62 = 1086,
+ CV_IA64_IntR63 = 1087,
+ CV_IA64_IntR64 = 1088,
+ CV_IA64_IntR65 = 1089,
+ CV_IA64_IntR66 = 1090,
+ CV_IA64_IntR67 = 1091,
+ CV_IA64_IntR68 = 1092,
+ CV_IA64_IntR69 = 1093,
+ CV_IA64_IntR70 = 1094,
+ CV_IA64_IntR71 = 1095,
+ CV_IA64_IntR72 = 1096,
+ CV_IA64_IntR73 = 1097,
+ CV_IA64_IntR74 = 1098,
+ CV_IA64_IntR75 = 1099,
+ CV_IA64_IntR76 = 1100,
+ CV_IA64_IntR77 = 1101,
+ CV_IA64_IntR78 = 1102,
+ CV_IA64_IntR79 = 1103,
+ CV_IA64_IntR80 = 1104,
+ CV_IA64_IntR81 = 1105,
+ CV_IA64_IntR82 = 1106,
+ CV_IA64_IntR83 = 1107,
+ CV_IA64_IntR84 = 1108,
+ CV_IA64_IntR85 = 1109,
+ CV_IA64_IntR86 = 1110,
+ CV_IA64_IntR87 = 1111,
+ CV_IA64_IntR88 = 1112,
+ CV_IA64_IntR89 = 1113,
+ CV_IA64_IntR90 = 1114,
+ CV_IA64_IntR91 = 1115,
+ CV_IA64_IntR92 = 1116,
+ CV_IA64_IntR93 = 1117,
+ CV_IA64_IntR94 = 1118,
+ CV_IA64_IntR95 = 1119,
+ CV_IA64_IntR96 = 1120,
+ CV_IA64_IntR97 = 1121,
+ CV_IA64_IntR98 = 1122,
+ CV_IA64_IntR99 = 1123,
+ CV_IA64_IntR100 = 1124,
+ CV_IA64_IntR101 = 1125,
+ CV_IA64_IntR102 = 1126,
+ CV_IA64_IntR103 = 1127,
+ CV_IA64_IntR104 = 1128,
+ CV_IA64_IntR105 = 1129,
+ CV_IA64_IntR106 = 1130,
+ CV_IA64_IntR107 = 1131,
+ CV_IA64_IntR108 = 1132,
+ CV_IA64_IntR109 = 1133,
+ CV_IA64_IntR110 = 1134,
+ CV_IA64_IntR111 = 1135,
+ CV_IA64_IntR112 = 1136,
+ CV_IA64_IntR113 = 1137,
+ CV_IA64_IntR114 = 1138,
+ CV_IA64_IntR115 = 1139,
+ CV_IA64_IntR116 = 1140,
+ CV_IA64_IntR117 = 1141,
+ CV_IA64_IntR118 = 1142,
+ CV_IA64_IntR119 = 1143,
+ CV_IA64_IntR120 = 1144,
+ CV_IA64_IntR121 = 1145,
+ CV_IA64_IntR122 = 1146,
+ CV_IA64_IntR123 = 1147,
+ CV_IA64_IntR124 = 1148,
+ CV_IA64_IntR125 = 1149,
+ CV_IA64_IntR126 = 1150,
+ CV_IA64_IntR127 = 1151,
+
+ // Floating-Point Registers
+
+ // Low Floating Point Registers
+ CV_IA64_FltF0 = 2048,
+ CV_IA64_FltF1 = 2049,
+ CV_IA64_FltF2 = 2050,
+ CV_IA64_FltF3 = 2051,
+ CV_IA64_FltF4 = 2052,
+ CV_IA64_FltF5 = 2053,
+ CV_IA64_FltF6 = 2054,
+ CV_IA64_FltF7 = 2055,
+ CV_IA64_FltF8 = 2056,
+ CV_IA64_FltF9 = 2057,
+ CV_IA64_FltF10 = 2058,
+ CV_IA64_FltF11 = 2059,
+ CV_IA64_FltF12 = 2060,
+ CV_IA64_FltF13 = 2061,
+ CV_IA64_FltF14 = 2062,
+ CV_IA64_FltF15 = 2063,
+ CV_IA64_FltF16 = 2064,
+ CV_IA64_FltF17 = 2065,
+ CV_IA64_FltF18 = 2066,
+ CV_IA64_FltF19 = 2067,
+ CV_IA64_FltF20 = 2068,
+ CV_IA64_FltF21 = 2069,
+ CV_IA64_FltF22 = 2070,
+ CV_IA64_FltF23 = 2071,
+ CV_IA64_FltF24 = 2072,
+ CV_IA64_FltF25 = 2073,
+ CV_IA64_FltF26 = 2074,
+ CV_IA64_FltF27 = 2075,
+ CV_IA64_FltF28 = 2076,
+ CV_IA64_FltF29 = 2077,
+ CV_IA64_FltF30 = 2078,
+ CV_IA64_FltF31 = 2079,
+
+ // High Floating Point Registers
+ CV_IA64_FltF32 = 2080,
+ CV_IA64_FltF33 = 2081,
+ CV_IA64_FltF34 = 2082,
+ CV_IA64_FltF35 = 2083,
+ CV_IA64_FltF36 = 2084,
+ CV_IA64_FltF37 = 2085,
+ CV_IA64_FltF38 = 2086,
+ CV_IA64_FltF39 = 2087,
+ CV_IA64_FltF40 = 2088,
+ CV_IA64_FltF41 = 2089,
+ CV_IA64_FltF42 = 2090,
+ CV_IA64_FltF43 = 2091,
+ CV_IA64_FltF44 = 2092,
+ CV_IA64_FltF45 = 2093,
+ CV_IA64_FltF46 = 2094,
+ CV_IA64_FltF47 = 2095,
+ CV_IA64_FltF48 = 2096,
+ CV_IA64_FltF49 = 2097,
+ CV_IA64_FltF50 = 2098,
+ CV_IA64_FltF51 = 2099,
+ CV_IA64_FltF52 = 2100,
+ CV_IA64_FltF53 = 2101,
+ CV_IA64_FltF54 = 2102,
+ CV_IA64_FltF55 = 2103,
+ CV_IA64_FltF56 = 2104,
+ CV_IA64_FltF57 = 2105,
+ CV_IA64_FltF58 = 2106,
+ CV_IA64_FltF59 = 2107,
+ CV_IA64_FltF60 = 2108,
+ CV_IA64_FltF61 = 2109,
+ CV_IA64_FltF62 = 2110,
+ CV_IA64_FltF63 = 2111,
+ CV_IA64_FltF64 = 2112,
+ CV_IA64_FltF65 = 2113,
+ CV_IA64_FltF66 = 2114,
+ CV_IA64_FltF67 = 2115,
+ CV_IA64_FltF68 = 2116,
+ CV_IA64_FltF69 = 2117,
+ CV_IA64_FltF70 = 2118,
+ CV_IA64_FltF71 = 2119,
+ CV_IA64_FltF72 = 2120,
+ CV_IA64_FltF73 = 2121,
+ CV_IA64_FltF74 = 2122,
+ CV_IA64_FltF75 = 2123,
+ CV_IA64_FltF76 = 2124,
+ CV_IA64_FltF77 = 2125,
+ CV_IA64_FltF78 = 2126,
+ CV_IA64_FltF79 = 2127,
+ CV_IA64_FltF80 = 2128,
+ CV_IA64_FltF81 = 2129,
+ CV_IA64_FltF82 = 2130,
+ CV_IA64_FltF83 = 2131,
+ CV_IA64_FltF84 = 2132,
+ CV_IA64_FltF85 = 2133,
+ CV_IA64_FltF86 = 2134,
+ CV_IA64_FltF87 = 2135,
+ CV_IA64_FltF88 = 2136,
+ CV_IA64_FltF89 = 2137,
+ CV_IA64_FltF90 = 2138,
+ CV_IA64_FltF91 = 2139,
+ CV_IA64_FltF92 = 2140,
+ CV_IA64_FltF93 = 2141,
+ CV_IA64_FltF94 = 2142,
+ CV_IA64_FltF95 = 2143,
+ CV_IA64_FltF96 = 2144,
+ CV_IA64_FltF97 = 2145,
+ CV_IA64_FltF98 = 2146,
+ CV_IA64_FltF99 = 2147,
+ CV_IA64_FltF100 = 2148,
+ CV_IA64_FltF101 = 2149,
+ CV_IA64_FltF102 = 2150,
+ CV_IA64_FltF103 = 2151,
+ CV_IA64_FltF104 = 2152,
+ CV_IA64_FltF105 = 2153,
+ CV_IA64_FltF106 = 2154,
+ CV_IA64_FltF107 = 2155,
+ CV_IA64_FltF108 = 2156,
+ CV_IA64_FltF109 = 2157,
+ CV_IA64_FltF110 = 2158,
+ CV_IA64_FltF111 = 2159,
+ CV_IA64_FltF112 = 2160,
+ CV_IA64_FltF113 = 2161,
+ CV_IA64_FltF114 = 2162,
+ CV_IA64_FltF115 = 2163,
+ CV_IA64_FltF116 = 2164,
+ CV_IA64_FltF117 = 2165,
+ CV_IA64_FltF118 = 2166,
+ CV_IA64_FltF119 = 2167,
+ CV_IA64_FltF120 = 2168,
+ CV_IA64_FltF121 = 2169,
+ CV_IA64_FltF122 = 2170,
+ CV_IA64_FltF123 = 2171,
+ CV_IA64_FltF124 = 2172,
+ CV_IA64_FltF125 = 2173,
+ CV_IA64_FltF126 = 2174,
+ CV_IA64_FltF127 = 2175,
+
+ // Application Registers
+
+ CV_IA64_ApKR0 = 3072,
+ CV_IA64_ApKR1 = 3073,
+ CV_IA64_ApKR2 = 3074,
+ CV_IA64_ApKR3 = 3075,
+ CV_IA64_ApKR4 = 3076,
+ CV_IA64_ApKR5 = 3077,
+ CV_IA64_ApKR6 = 3078,
+ CV_IA64_ApKR7 = 3079,
+ CV_IA64_AR8 = 3080,
+ CV_IA64_AR9 = 3081,
+ CV_IA64_AR10 = 3082,
+ CV_IA64_AR11 = 3083,
+ CV_IA64_AR12 = 3084,
+ CV_IA64_AR13 = 3085,
+ CV_IA64_AR14 = 3086,
+ CV_IA64_AR15 = 3087,
+ CV_IA64_RsRSC = 3088,
+ CV_IA64_RsBSP = 3089,
+ CV_IA64_RsBSPSTORE = 3090,
+ CV_IA64_RsRNAT = 3091,
+ CV_IA64_AR20 = 3092,
+ CV_IA64_StFCR = 3093,
+ CV_IA64_AR22 = 3094,
+ CV_IA64_AR23 = 3095,
+ CV_IA64_EFLAG = 3096,
+ CV_IA64_CSD = 3097,
+ CV_IA64_SSD = 3098,
+ CV_IA64_CFLG = 3099,
+ CV_IA64_StFSR = 3100,
+ CV_IA64_StFIR = 3101,
+ CV_IA64_StFDR = 3102,
+ CV_IA64_AR31 = 3103,
+ CV_IA64_ApCCV = 3104,
+ CV_IA64_AR33 = 3105,
+ CV_IA64_AR34 = 3106,
+ CV_IA64_AR35 = 3107,
+ CV_IA64_ApUNAT = 3108,
+ CV_IA64_AR37 = 3109,
+ CV_IA64_AR38 = 3110,
+ CV_IA64_AR39 = 3111,
+ CV_IA64_StFPSR = 3112,
+ CV_IA64_AR41 = 3113,
+ CV_IA64_AR42 = 3114,
+ CV_IA64_AR43 = 3115,
+ CV_IA64_ApITC = 3116,
+ CV_IA64_AR45 = 3117,
+ CV_IA64_AR46 = 3118,
+ CV_IA64_AR47 = 3119,
+ CV_IA64_AR48 = 3120,
+ CV_IA64_AR49 = 3121,
+ CV_IA64_AR50 = 3122,
+ CV_IA64_AR51 = 3123,
+ CV_IA64_AR52 = 3124,
+ CV_IA64_AR53 = 3125,
+ CV_IA64_AR54 = 3126,
+ CV_IA64_AR55 = 3127,
+ CV_IA64_AR56 = 3128,
+ CV_IA64_AR57 = 3129,
+ CV_IA64_AR58 = 3130,
+ CV_IA64_AR59 = 3131,
+ CV_IA64_AR60 = 3132,
+ CV_IA64_AR61 = 3133,
+ CV_IA64_AR62 = 3134,
+ CV_IA64_AR63 = 3135,
+ CV_IA64_RsPFS = 3136,
+ CV_IA64_ApLC = 3137,
+ CV_IA64_ApEC = 3138,
+ CV_IA64_AR67 = 3139,
+ CV_IA64_AR68 = 3140,
+ CV_IA64_AR69 = 3141,
+ CV_IA64_AR70 = 3142,
+ CV_IA64_AR71 = 3143,
+ CV_IA64_AR72 = 3144,
+ CV_IA64_AR73 = 3145,
+ CV_IA64_AR74 = 3146,
+ CV_IA64_AR75 = 3147,
+ CV_IA64_AR76 = 3148,
+ CV_IA64_AR77 = 3149,
+ CV_IA64_AR78 = 3150,
+ CV_IA64_AR79 = 3151,
+ CV_IA64_AR80 = 3152,
+ CV_IA64_AR81 = 3153,
+ CV_IA64_AR82 = 3154,
+ CV_IA64_AR83 = 3155,
+ CV_IA64_AR84 = 3156,
+ CV_IA64_AR85 = 3157,
+ CV_IA64_AR86 = 3158,
+ CV_IA64_AR87 = 3159,
+ CV_IA64_AR88 = 3160,
+ CV_IA64_AR89 = 3161,
+ CV_IA64_AR90 = 3162,
+ CV_IA64_AR91 = 3163,
+ CV_IA64_AR92 = 3164,
+ CV_IA64_AR93 = 3165,
+ CV_IA64_AR94 = 3166,
+ CV_IA64_AR95 = 3167,
+ CV_IA64_AR96 = 3168,
+ CV_IA64_AR97 = 3169,
+ CV_IA64_AR98 = 3170,
+ CV_IA64_AR99 = 3171,
+ CV_IA64_AR100 = 3172,
+ CV_IA64_AR101 = 3173,
+ CV_IA64_AR102 = 3174,
+ CV_IA64_AR103 = 3175,
+ CV_IA64_AR104 = 3176,
+ CV_IA64_AR105 = 3177,
+ CV_IA64_AR106 = 3178,
+ CV_IA64_AR107 = 3179,
+ CV_IA64_AR108 = 3180,
+ CV_IA64_AR109 = 3181,
+ CV_IA64_AR110 = 3182,
+ CV_IA64_AR111 = 3183,
+ CV_IA64_AR112 = 3184,
+ CV_IA64_AR113 = 3185,
+ CV_IA64_AR114 = 3186,
+ CV_IA64_AR115 = 3187,
+ CV_IA64_AR116 = 3188,
+ CV_IA64_AR117 = 3189,
+ CV_IA64_AR118 = 3190,
+ CV_IA64_AR119 = 3191,
+ CV_IA64_AR120 = 3192,
+ CV_IA64_AR121 = 3193,
+ CV_IA64_AR122 = 3194,
+ CV_IA64_AR123 = 3195,
+ CV_IA64_AR124 = 3196,
+ CV_IA64_AR125 = 3197,
+ CV_IA64_AR126 = 3198,
+ CV_IA64_AR127 = 3199,
+
+ // CPUID Registers
+
+ CV_IA64_CPUID0 = 3328,
+ CV_IA64_CPUID1 = 3329,
+ CV_IA64_CPUID2 = 3330,
+ CV_IA64_CPUID3 = 3331,
+ CV_IA64_CPUID4 = 3332,
+
+ // Control Registers
+
+ CV_IA64_ApDCR = 4096,
+ CV_IA64_ApITM = 4097,
+ CV_IA64_ApIVA = 4098,
+ CV_IA64_CR3 = 4099,
+ CV_IA64_CR4 = 4100,
+ CV_IA64_CR5 = 4101,
+ CV_IA64_CR6 = 4102,
+ CV_IA64_CR7 = 4103,
+ CV_IA64_ApPTA = 4104,
+ CV_IA64_ApGPTA = 4105,
+ CV_IA64_CR10 = 4106,
+ CV_IA64_CR11 = 4107,
+ CV_IA64_CR12 = 4108,
+ CV_IA64_CR13 = 4109,
+ CV_IA64_CR14 = 4110,
+ CV_IA64_CR15 = 4111,
+ CV_IA64_StIPSR = 4112,
+ CV_IA64_StISR = 4113,
+ CV_IA64_CR18 = 4114,
+ CV_IA64_StIIP = 4115,
+ CV_IA64_StIFA = 4116,
+ CV_IA64_StITIR = 4117,
+ CV_IA64_StIIPA = 4118,
+ CV_IA64_StIFS = 4119,
+ CV_IA64_StIIM = 4120,
+ CV_IA64_StIHA = 4121,
+ CV_IA64_CR26 = 4122,
+ CV_IA64_CR27 = 4123,
+ CV_IA64_CR28 = 4124,
+ CV_IA64_CR29 = 4125,
+ CV_IA64_CR30 = 4126,
+ CV_IA64_CR31 = 4127,
+ CV_IA64_CR32 = 4128,
+ CV_IA64_CR33 = 4129,
+ CV_IA64_CR34 = 4130,
+ CV_IA64_CR35 = 4131,
+ CV_IA64_CR36 = 4132,
+ CV_IA64_CR37 = 4133,
+ CV_IA64_CR38 = 4134,
+ CV_IA64_CR39 = 4135,
+ CV_IA64_CR40 = 4136,
+ CV_IA64_CR41 = 4137,
+ CV_IA64_CR42 = 4138,
+ CV_IA64_CR43 = 4139,
+ CV_IA64_CR44 = 4140,
+ CV_IA64_CR45 = 4141,
+ CV_IA64_CR46 = 4142,
+ CV_IA64_CR47 = 4143,
+ CV_IA64_CR48 = 4144,
+ CV_IA64_CR49 = 4145,
+ CV_IA64_CR50 = 4146,
+ CV_IA64_CR51 = 4147,
+ CV_IA64_CR52 = 4148,
+ CV_IA64_CR53 = 4149,
+ CV_IA64_CR54 = 4150,
+ CV_IA64_CR55 = 4151,
+ CV_IA64_CR56 = 4152,
+ CV_IA64_CR57 = 4153,
+ CV_IA64_CR58 = 4154,
+ CV_IA64_CR59 = 4155,
+ CV_IA64_CR60 = 4156,
+ CV_IA64_CR61 = 4157,
+ CV_IA64_CR62 = 4158,
+ CV_IA64_CR63 = 4159,
+ CV_IA64_SaLID = 4160,
+ CV_IA64_SaIVR = 4161,
+ CV_IA64_SaTPR = 4162,
+ CV_IA64_SaEOI = 4163,
+ CV_IA64_SaIRR0 = 4164,
+ CV_IA64_SaIRR1 = 4165,
+ CV_IA64_SaIRR2 = 4166,
+ CV_IA64_SaIRR3 = 4167,
+ CV_IA64_SaITV = 4168,
+ CV_IA64_SaPMV = 4169,
+ CV_IA64_SaCMCV = 4170,
+ CV_IA64_CR75 = 4171,
+ CV_IA64_CR76 = 4172,
+ CV_IA64_CR77 = 4173,
+ CV_IA64_CR78 = 4174,
+ CV_IA64_CR79 = 4175,
+ CV_IA64_SaLRR0 = 4176,
+ CV_IA64_SaLRR1 = 4177,
+ CV_IA64_CR82 = 4178,
+ CV_IA64_CR83 = 4179,
+ CV_IA64_CR84 = 4180,
+ CV_IA64_CR85 = 4181,
+ CV_IA64_CR86 = 4182,
+ CV_IA64_CR87 = 4183,
+ CV_IA64_CR88 = 4184,
+ CV_IA64_CR89 = 4185,
+ CV_IA64_CR90 = 4186,
+ CV_IA64_CR91 = 4187,
+ CV_IA64_CR92 = 4188,
+ CV_IA64_CR93 = 4189,
+ CV_IA64_CR94 = 4190,
+ CV_IA64_CR95 = 4191,
+ CV_IA64_CR96 = 4192,
+ CV_IA64_CR97 = 4193,
+ CV_IA64_CR98 = 4194,
+ CV_IA64_CR99 = 4195,
+ CV_IA64_CR100 = 4196,
+ CV_IA64_CR101 = 4197,
+ CV_IA64_CR102 = 4198,
+ CV_IA64_CR103 = 4199,
+ CV_IA64_CR104 = 4200,
+ CV_IA64_CR105 = 4201,
+ CV_IA64_CR106 = 4202,
+ CV_IA64_CR107 = 4203,
+ CV_IA64_CR108 = 4204,
+ CV_IA64_CR109 = 4205,
+ CV_IA64_CR110 = 4206,
+ CV_IA64_CR111 = 4207,
+ CV_IA64_CR112 = 4208,
+ CV_IA64_CR113 = 4209,
+ CV_IA64_CR114 = 4210,
+ CV_IA64_CR115 = 4211,
+ CV_IA64_CR116 = 4212,
+ CV_IA64_CR117 = 4213,
+ CV_IA64_CR118 = 4214,
+ CV_IA64_CR119 = 4215,
+ CV_IA64_CR120 = 4216,
+ CV_IA64_CR121 = 4217,
+ CV_IA64_CR122 = 4218,
+ CV_IA64_CR123 = 4219,
+ CV_IA64_CR124 = 4220,
+ CV_IA64_CR125 = 4221,
+ CV_IA64_CR126 = 4222,
+ CV_IA64_CR127 = 4223,
+
+ // Protection Key Registers
+
+ CV_IA64_Pkr0 = 5120,
+ CV_IA64_Pkr1 = 5121,
+ CV_IA64_Pkr2 = 5122,
+ CV_IA64_Pkr3 = 5123,
+ CV_IA64_Pkr4 = 5124,
+ CV_IA64_Pkr5 = 5125,
+ CV_IA64_Pkr6 = 5126,
+ CV_IA64_Pkr7 = 5127,
+ CV_IA64_Pkr8 = 5128,
+ CV_IA64_Pkr9 = 5129,
+ CV_IA64_Pkr10 = 5130,
+ CV_IA64_Pkr11 = 5131,
+ CV_IA64_Pkr12 = 5132,
+ CV_IA64_Pkr13 = 5133,
+ CV_IA64_Pkr14 = 5134,
+ CV_IA64_Pkr15 = 5135,
+
+ // Region Registers
+
+ CV_IA64_Rr0 = 6144,
+ CV_IA64_Rr1 = 6145,
+ CV_IA64_Rr2 = 6146,
+ CV_IA64_Rr3 = 6147,
+ CV_IA64_Rr4 = 6148,
+ CV_IA64_Rr5 = 6149,
+ CV_IA64_Rr6 = 6150,
+ CV_IA64_Rr7 = 6151,
+
+ // Performance Monitor Data Registers
+
+ CV_IA64_PFD0 = 7168,
+ CV_IA64_PFD1 = 7169,
+ CV_IA64_PFD2 = 7170,
+ CV_IA64_PFD3 = 7171,
+ CV_IA64_PFD4 = 7172,
+ CV_IA64_PFD5 = 7173,
+ CV_IA64_PFD6 = 7174,
+ CV_IA64_PFD7 = 7175,
+ CV_IA64_PFD8 = 7176,
+ CV_IA64_PFD9 = 7177,
+ CV_IA64_PFD10 = 7178,
+ CV_IA64_PFD11 = 7179,
+ CV_IA64_PFD12 = 7180,
+ CV_IA64_PFD13 = 7181,
+ CV_IA64_PFD14 = 7182,
+ CV_IA64_PFD15 = 7183,
+ CV_IA64_PFD16 = 7184,
+ CV_IA64_PFD17 = 7185,
+
+ // Performance Monitor Config Registers
+
+ CV_IA64_PFC0 = 7424,
+ CV_IA64_PFC1 = 7425,
+ CV_IA64_PFC2 = 7426,
+ CV_IA64_PFC3 = 7427,
+ CV_IA64_PFC4 = 7428,
+ CV_IA64_PFC5 = 7429,
+ CV_IA64_PFC6 = 7430,
+ CV_IA64_PFC7 = 7431,
+ CV_IA64_PFC8 = 7432,
+ CV_IA64_PFC9 = 7433,
+ CV_IA64_PFC10 = 7434,
+ CV_IA64_PFC11 = 7435,
+ CV_IA64_PFC12 = 7436,
+ CV_IA64_PFC13 = 7437,
+ CV_IA64_PFC14 = 7438,
+ CV_IA64_PFC15 = 7439,
+
+ // Instruction Translation Registers
+
+ CV_IA64_TrI0 = 8192,
+ CV_IA64_TrI1 = 8193,
+ CV_IA64_TrI2 = 8194,
+ CV_IA64_TrI3 = 8195,
+ CV_IA64_TrI4 = 8196,
+ CV_IA64_TrI5 = 8197,
+ CV_IA64_TrI6 = 8198,
+ CV_IA64_TrI7 = 8199,
+
+ // Data Translation Registers
+
+ CV_IA64_TrD0 = 8320,
+ CV_IA64_TrD1 = 8321,
+ CV_IA64_TrD2 = 8322,
+ CV_IA64_TrD3 = 8323,
+ CV_IA64_TrD4 = 8324,
+ CV_IA64_TrD5 = 8325,
+ CV_IA64_TrD6 = 8326,
+ CV_IA64_TrD7 = 8327,
+
+ // Instruction Breakpoint Registers
+
+ CV_IA64_DbI0 = 8448,
+ CV_IA64_DbI1 = 8449,
+ CV_IA64_DbI2 = 8450,
+ CV_IA64_DbI3 = 8451,
+ CV_IA64_DbI4 = 8452,
+ CV_IA64_DbI5 = 8453,
+ CV_IA64_DbI6 = 8454,
+ CV_IA64_DbI7 = 8455,
+
+ // Data Breakpoint Registers
+
+ CV_IA64_DbD0 = 8576,
+ CV_IA64_DbD1 = 8577,
+ CV_IA64_DbD2 = 8578,
+ CV_IA64_DbD3 = 8579,
+ CV_IA64_DbD4 = 8580,
+ CV_IA64_DbD5 = 8581,
+ CV_IA64_DbD6 = 8582,
+ CV_IA64_DbD7 = 8583,
+
+ //
+ // Register set for the TriCore processor.
+ //
+
+ CV_TRI_NOREG = CV_REG_NONE,
+
+ // General Purpose Data Registers
+
+ CV_TRI_D0 = 10,
+ CV_TRI_D1 = 11,
+ CV_TRI_D2 = 12,
+ CV_TRI_D3 = 13,
+ CV_TRI_D4 = 14,
+ CV_TRI_D5 = 15,
+ CV_TRI_D6 = 16,
+ CV_TRI_D7 = 17,
+ CV_TRI_D8 = 18,
+ CV_TRI_D9 = 19,
+ CV_TRI_D10 = 20,
+ CV_TRI_D11 = 21,
+ CV_TRI_D12 = 22,
+ CV_TRI_D13 = 23,
+ CV_TRI_D14 = 24,
+ CV_TRI_D15 = 25,
+
+ // General Purpose Address Registers
+
+ CV_TRI_A0 = 26,
+ CV_TRI_A1 = 27,
+ CV_TRI_A2 = 28,
+ CV_TRI_A3 = 29,
+ CV_TRI_A4 = 30,
+ CV_TRI_A5 = 31,
+ CV_TRI_A6 = 32,
+ CV_TRI_A7 = 33,
+ CV_TRI_A8 = 34,
+ CV_TRI_A9 = 35,
+ CV_TRI_A10 = 36,
+ CV_TRI_A11 = 37,
+ CV_TRI_A12 = 38,
+ CV_TRI_A13 = 39,
+ CV_TRI_A14 = 40,
+ CV_TRI_A15 = 41,
+
+ // Extended (64-bit) data registers
+
+ CV_TRI_E0 = 42,
+ CV_TRI_E2 = 43,
+ CV_TRI_E4 = 44,
+ CV_TRI_E6 = 45,
+ CV_TRI_E8 = 46,
+ CV_TRI_E10 = 47,
+ CV_TRI_E12 = 48,
+ CV_TRI_E14 = 49,
+
+ // Extended (64-bit) address registers
+
+ CV_TRI_EA0 = 50,
+ CV_TRI_EA2 = 51,
+ CV_TRI_EA4 = 52,
+ CV_TRI_EA6 = 53,
+ CV_TRI_EA8 = 54,
+ CV_TRI_EA10 = 55,
+ CV_TRI_EA12 = 56,
+ CV_TRI_EA14 = 57,
+
+ CV_TRI_PSW = 58,
+ CV_TRI_PCXI = 59,
+ CV_TRI_PC = 60,
+ CV_TRI_FCX = 61,
+ CV_TRI_LCX = 62,
+ CV_TRI_ISP = 63,
+ CV_TRI_ICR = 64,
+ CV_TRI_BIV = 65,
+ CV_TRI_BTV = 66,
+ CV_TRI_SYSCON = 67,
+ CV_TRI_DPRx_0 = 68,
+ CV_TRI_DPRx_1 = 69,
+ CV_TRI_DPRx_2 = 70,
+ CV_TRI_DPRx_3 = 71,
+ CV_TRI_CPRx_0 = 68,
+ CV_TRI_CPRx_1 = 69,
+ CV_TRI_CPRx_2 = 70,
+ CV_TRI_CPRx_3 = 71,
+ CV_TRI_DPMx_0 = 68,
+ CV_TRI_DPMx_1 = 69,
+ CV_TRI_DPMx_2 = 70,
+ CV_TRI_DPMx_3 = 71,
+ CV_TRI_CPMx_0 = 68,
+ CV_TRI_CPMx_1 = 69,
+ CV_TRI_CPMx_2 = 70,
+ CV_TRI_CPMx_3 = 71,
+ CV_TRI_DBGSSR = 72,
+ CV_TRI_EXEVT = 73,
+ CV_TRI_SWEVT = 74,
+ CV_TRI_CREVT = 75,
+ CV_TRI_TRnEVT = 76,
+ CV_TRI_MMUCON = 77,
+ CV_TRI_ASI = 78,
+ CV_TRI_TVA = 79,
+ CV_TRI_TPA = 80,
+ CV_TRI_TPX = 81,
+ CV_TRI_TFA = 82,
+
+ //
+ // Register set for the AM33 and related processors.
+ //
+
+ CV_AM33_NOREG = CV_REG_NONE,
+
+ // "Extended" (general purpose integer) registers
+ CV_AM33_E0 = 10,
+ CV_AM33_E1 = 11,
+ CV_AM33_E2 = 12,
+ CV_AM33_E3 = 13,
+ CV_AM33_E4 = 14,
+ CV_AM33_E5 = 15,
+ CV_AM33_E6 = 16,
+ CV_AM33_E7 = 17,
+
+ // Address registers
+ CV_AM33_A0 = 20,
+ CV_AM33_A1 = 21,
+ CV_AM33_A2 = 22,
+ CV_AM33_A3 = 23,
+
+ // Integer data registers
+ CV_AM33_D0 = 30,
+ CV_AM33_D1 = 31,
+ CV_AM33_D2 = 32,
+ CV_AM33_D3 = 33,
+
+ // (Single-precision) floating-point registers
+ CV_AM33_FS0 = 40,
+ CV_AM33_FS1 = 41,
+ CV_AM33_FS2 = 42,
+ CV_AM33_FS3 = 43,
+ CV_AM33_FS4 = 44,
+ CV_AM33_FS5 = 45,
+ CV_AM33_FS6 = 46,
+ CV_AM33_FS7 = 47,
+ CV_AM33_FS8 = 48,
+ CV_AM33_FS9 = 49,
+ CV_AM33_FS10 = 50,
+ CV_AM33_FS11 = 51,
+ CV_AM33_FS12 = 52,
+ CV_AM33_FS13 = 53,
+ CV_AM33_FS14 = 54,
+ CV_AM33_FS15 = 55,
+ CV_AM33_FS16 = 56,
+ CV_AM33_FS17 = 57,
+ CV_AM33_FS18 = 58,
+ CV_AM33_FS19 = 59,
+ CV_AM33_FS20 = 60,
+ CV_AM33_FS21 = 61,
+ CV_AM33_FS22 = 62,
+ CV_AM33_FS23 = 63,
+ CV_AM33_FS24 = 64,
+ CV_AM33_FS25 = 65,
+ CV_AM33_FS26 = 66,
+ CV_AM33_FS27 = 67,
+ CV_AM33_FS28 = 68,
+ CV_AM33_FS29 = 69,
+ CV_AM33_FS30 = 70,
+ CV_AM33_FS31 = 71,
+
+ // Special purpose registers
+
+ // Stack pointer
+ CV_AM33_SP = 80,
+
+ // Program counter
+ CV_AM33_PC = 81,
+
+ // Multiply-divide/accumulate registers
+ CV_AM33_MDR = 82,
+ CV_AM33_MDRQ = 83,
+ CV_AM33_MCRH = 84,
+ CV_AM33_MCRL = 85,
+ CV_AM33_MCVF = 86,
+
+ // CPU status words
+ CV_AM33_EPSW = 87,
+ CV_AM33_FPCR = 88,
+
+ // Loop buffer registers
+ CV_AM33_LIR = 89,
+ CV_AM33_LAR = 90,
+
+ //
+ // Register set for the Mitsubishi M32R
+ //
+
+ CV_M32R_NOREG = CV_REG_NONE,
+
+ CV_M32R_R0 = 10,
+ CV_M32R_R1 = 11,
+ CV_M32R_R2 = 12,
+ CV_M32R_R3 = 13,
+ CV_M32R_R4 = 14,
+ CV_M32R_R5 = 15,
+ CV_M32R_R6 = 16,
+ CV_M32R_R7 = 17,
+ CV_M32R_R8 = 18,
+ CV_M32R_R9 = 19,
+ CV_M32R_R10 = 20,
+ CV_M32R_R11 = 21,
+ CV_M32R_R12 = 22, // Gloabal Pointer, if used
+ CV_M32R_R13 = 23, // Frame Pointer, if allocated
+ CV_M32R_R14 = 24, // Link Register
+ CV_M32R_R15 = 25, // Stack Pointer
+ CV_M32R_PSW = 26, // Preocessor Status Register
+ CV_M32R_CBR = 27, // Condition Bit Register
+ CV_M32R_SPI = 28, // Interrupt Stack Pointer
+ CV_M32R_SPU = 29, // User Stack Pointer
+ CV_M32R_SPO = 30, // OS Stack Pointer
+ CV_M32R_BPC = 31, // Backup Program Counter
+ CV_M32R_ACHI = 32, // Accumulator High
+ CV_M32R_ACLO = 33, // Accumulator Low
+ CV_M32R_PC = 34, // Program Counter
+
+ //
+ // Register set for the SuperH SHMedia processor including compact
+ // mode
+ //
+
+ // Integer - 64 bit general registers
+ CV_SHMEDIA_NOREG = CV_REG_NONE,
+ CV_SHMEDIA_R0 = 10,
+ CV_SHMEDIA_R1 = 11,
+ CV_SHMEDIA_R2 = 12,
+ CV_SHMEDIA_R3 = 13,
+ CV_SHMEDIA_R4 = 14,
+ CV_SHMEDIA_R5 = 15,
+ CV_SHMEDIA_R6 = 16,
+ CV_SHMEDIA_R7 = 17,
+ CV_SHMEDIA_R8 = 18,
+ CV_SHMEDIA_R9 = 19,
+ CV_SHMEDIA_R10 = 20,
+ CV_SHMEDIA_R11 = 21,
+ CV_SHMEDIA_R12 = 22,
+ CV_SHMEDIA_R13 = 23,
+ CV_SHMEDIA_R14 = 24,
+ CV_SHMEDIA_R15 = 25,
+ CV_SHMEDIA_R16 = 26,
+ CV_SHMEDIA_R17 = 27,
+ CV_SHMEDIA_R18 = 28,
+ CV_SHMEDIA_R19 = 29,
+ CV_SHMEDIA_R20 = 30,
+ CV_SHMEDIA_R21 = 31,
+ CV_SHMEDIA_R22 = 32,
+ CV_SHMEDIA_R23 = 33,
+ CV_SHMEDIA_R24 = 34,
+ CV_SHMEDIA_R25 = 35,
+ CV_SHMEDIA_R26 = 36,
+ CV_SHMEDIA_R27 = 37,
+ CV_SHMEDIA_R28 = 38,
+ CV_SHMEDIA_R29 = 39,
+ CV_SHMEDIA_R30 = 40,
+ CV_SHMEDIA_R31 = 41,
+ CV_SHMEDIA_R32 = 42,
+ CV_SHMEDIA_R33 = 43,
+ CV_SHMEDIA_R34 = 44,
+ CV_SHMEDIA_R35 = 45,
+ CV_SHMEDIA_R36 = 46,
+ CV_SHMEDIA_R37 = 47,
+ CV_SHMEDIA_R38 = 48,
+ CV_SHMEDIA_R39 = 49,
+ CV_SHMEDIA_R40 = 50,
+ CV_SHMEDIA_R41 = 51,
+ CV_SHMEDIA_R42 = 52,
+ CV_SHMEDIA_R43 = 53,
+ CV_SHMEDIA_R44 = 54,
+ CV_SHMEDIA_R45 = 55,
+ CV_SHMEDIA_R46 = 56,
+ CV_SHMEDIA_R47 = 57,
+ CV_SHMEDIA_R48 = 58,
+ CV_SHMEDIA_R49 = 59,
+ CV_SHMEDIA_R50 = 60,
+ CV_SHMEDIA_R51 = 61,
+ CV_SHMEDIA_R52 = 62,
+ CV_SHMEDIA_R53 = 63,
+ CV_SHMEDIA_R54 = 64,
+ CV_SHMEDIA_R55 = 65,
+ CV_SHMEDIA_R56 = 66,
+ CV_SHMEDIA_R57 = 67,
+ CV_SHMEDIA_R58 = 68,
+ CV_SHMEDIA_R59 = 69,
+ CV_SHMEDIA_R60 = 70,
+ CV_SHMEDIA_R61 = 71,
+ CV_SHMEDIA_R62 = 72,
+ CV_SHMEDIA_R63 = 73,
+
+ // Target Registers - 32 bit
+ CV_SHMEDIA_TR0 = 74,
+ CV_SHMEDIA_TR1 = 75,
+ CV_SHMEDIA_TR2 = 76,
+ CV_SHMEDIA_TR3 = 77,
+ CV_SHMEDIA_TR4 = 78,
+ CV_SHMEDIA_TR5 = 79,
+ CV_SHMEDIA_TR6 = 80,
+ CV_SHMEDIA_TR7 = 81,
+ CV_SHMEDIA_TR8 = 82, // future-proof
+ CV_SHMEDIA_TR9 = 83, // future-proof
+ CV_SHMEDIA_TR10 = 84, // future-proof
+ CV_SHMEDIA_TR11 = 85, // future-proof
+ CV_SHMEDIA_TR12 = 86, // future-proof
+ CV_SHMEDIA_TR13 = 87, // future-proof
+ CV_SHMEDIA_TR14 = 88, // future-proof
+ CV_SHMEDIA_TR15 = 89, // future-proof
+
+ // Single - 32 bit fp registers
+ CV_SHMEDIA_FR0 = 128,
+ CV_SHMEDIA_FR1 = 129,
+ CV_SHMEDIA_FR2 = 130,
+ CV_SHMEDIA_FR3 = 131,
+ CV_SHMEDIA_FR4 = 132,
+ CV_SHMEDIA_FR5 = 133,
+ CV_SHMEDIA_FR6 = 134,
+ CV_SHMEDIA_FR7 = 135,
+ CV_SHMEDIA_FR8 = 136,
+ CV_SHMEDIA_FR9 = 137,
+ CV_SHMEDIA_FR10 = 138,
+ CV_SHMEDIA_FR11 = 139,
+ CV_SHMEDIA_FR12 = 140,
+ CV_SHMEDIA_FR13 = 141,
+ CV_SHMEDIA_FR14 = 142,
+ CV_SHMEDIA_FR15 = 143,
+ CV_SHMEDIA_FR16 = 144,
+ CV_SHMEDIA_FR17 = 145,
+ CV_SHMEDIA_FR18 = 146,
+ CV_SHMEDIA_FR19 = 147,
+ CV_SHMEDIA_FR20 = 148,
+ CV_SHMEDIA_FR21 = 149,
+ CV_SHMEDIA_FR22 = 150,
+ CV_SHMEDIA_FR23 = 151,
+ CV_SHMEDIA_FR24 = 152,
+ CV_SHMEDIA_FR25 = 153,
+ CV_SHMEDIA_FR26 = 154,
+ CV_SHMEDIA_FR27 = 155,
+ CV_SHMEDIA_FR28 = 156,
+ CV_SHMEDIA_FR29 = 157,
+ CV_SHMEDIA_FR30 = 158,
+ CV_SHMEDIA_FR31 = 159,
+ CV_SHMEDIA_FR32 = 160,
+ CV_SHMEDIA_FR33 = 161,
+ CV_SHMEDIA_FR34 = 162,
+ CV_SHMEDIA_FR35 = 163,
+ CV_SHMEDIA_FR36 = 164,
+ CV_SHMEDIA_FR37 = 165,
+ CV_SHMEDIA_FR38 = 166,
+ CV_SHMEDIA_FR39 = 167,
+ CV_SHMEDIA_FR40 = 168,
+ CV_SHMEDIA_FR41 = 169,
+ CV_SHMEDIA_FR42 = 170,
+ CV_SHMEDIA_FR43 = 171,
+ CV_SHMEDIA_FR44 = 172,
+ CV_SHMEDIA_FR45 = 173,
+ CV_SHMEDIA_FR46 = 174,
+ CV_SHMEDIA_FR47 = 175,
+ CV_SHMEDIA_FR48 = 176,
+ CV_SHMEDIA_FR49 = 177,
+ CV_SHMEDIA_FR50 = 178,
+ CV_SHMEDIA_FR51 = 179,
+ CV_SHMEDIA_FR52 = 180,
+ CV_SHMEDIA_FR53 = 181,
+ CV_SHMEDIA_FR54 = 182,
+ CV_SHMEDIA_FR55 = 183,
+ CV_SHMEDIA_FR56 = 184,
+ CV_SHMEDIA_FR57 = 185,
+ CV_SHMEDIA_FR58 = 186,
+ CV_SHMEDIA_FR59 = 187,
+ CV_SHMEDIA_FR60 = 188,
+ CV_SHMEDIA_FR61 = 189,
+ CV_SHMEDIA_FR62 = 190,
+ CV_SHMEDIA_FR63 = 191,
+
+ // Double - 64 bit synonyms for 32bit fp register pairs
+ // subtract 128 to find first base single register
+ CV_SHMEDIA_DR0 = 256,
+ CV_SHMEDIA_DR2 = 258,
+ CV_SHMEDIA_DR4 = 260,
+ CV_SHMEDIA_DR6 = 262,
+ CV_SHMEDIA_DR8 = 264,
+ CV_SHMEDIA_DR10 = 266,
+ CV_SHMEDIA_DR12 = 268,
+ CV_SHMEDIA_DR14 = 270,
+ CV_SHMEDIA_DR16 = 272,
+ CV_SHMEDIA_DR18 = 274,
+ CV_SHMEDIA_DR20 = 276,
+ CV_SHMEDIA_DR22 = 278,
+ CV_SHMEDIA_DR24 = 280,
+ CV_SHMEDIA_DR26 = 282,
+ CV_SHMEDIA_DR28 = 284,
+ CV_SHMEDIA_DR30 = 286,
+ CV_SHMEDIA_DR32 = 288,
+ CV_SHMEDIA_DR34 = 290,
+ CV_SHMEDIA_DR36 = 292,
+ CV_SHMEDIA_DR38 = 294,
+ CV_SHMEDIA_DR40 = 296,
+ CV_SHMEDIA_DR42 = 298,
+ CV_SHMEDIA_DR44 = 300,
+ CV_SHMEDIA_DR46 = 302,
+ CV_SHMEDIA_DR48 = 304,
+ CV_SHMEDIA_DR50 = 306,
+ CV_SHMEDIA_DR52 = 308,
+ CV_SHMEDIA_DR54 = 310,
+ CV_SHMEDIA_DR56 = 312,
+ CV_SHMEDIA_DR58 = 314,
+ CV_SHMEDIA_DR60 = 316,
+ CV_SHMEDIA_DR62 = 318,
+
+ // Vector - 128 bit synonyms for 32bit fp register quads
+ // subtract 384 to find first base single register
+ CV_SHMEDIA_FV0 = 512,
+ CV_SHMEDIA_FV4 = 516,
+ CV_SHMEDIA_FV8 = 520,
+ CV_SHMEDIA_FV12 = 524,
+ CV_SHMEDIA_FV16 = 528,
+ CV_SHMEDIA_FV20 = 532,
+ CV_SHMEDIA_FV24 = 536,
+ CV_SHMEDIA_FV28 = 540,
+ CV_SHMEDIA_FV32 = 544,
+ CV_SHMEDIA_FV36 = 548,
+ CV_SHMEDIA_FV40 = 552,
+ CV_SHMEDIA_FV44 = 556,
+ CV_SHMEDIA_FV48 = 560,
+ CV_SHMEDIA_FV52 = 564,
+ CV_SHMEDIA_FV56 = 568,
+ CV_SHMEDIA_FV60 = 572,
+
+ // Matrix - 512 bit synonyms for 16 adjacent 32bit fp registers
+ // subtract 896 to find first base single register
+ CV_SHMEDIA_MTRX0 = 1024,
+ CV_SHMEDIA_MTRX16 = 1040,
+ CV_SHMEDIA_MTRX32 = 1056,
+ CV_SHMEDIA_MTRX48 = 1072,
+
+ // Control - Implementation defined 64bit control registers
+ CV_SHMEDIA_CR0 = 2000,
+ CV_SHMEDIA_CR1 = 2001,
+ CV_SHMEDIA_CR2 = 2002,
+ CV_SHMEDIA_CR3 = 2003,
+ CV_SHMEDIA_CR4 = 2004,
+ CV_SHMEDIA_CR5 = 2005,
+ CV_SHMEDIA_CR6 = 2006,
+ CV_SHMEDIA_CR7 = 2007,
+ CV_SHMEDIA_CR8 = 2008,
+ CV_SHMEDIA_CR9 = 2009,
+ CV_SHMEDIA_CR10 = 2010,
+ CV_SHMEDIA_CR11 = 2011,
+ CV_SHMEDIA_CR12 = 2012,
+ CV_SHMEDIA_CR13 = 2013,
+ CV_SHMEDIA_CR14 = 2014,
+ CV_SHMEDIA_CR15 = 2015,
+ CV_SHMEDIA_CR16 = 2016,
+ CV_SHMEDIA_CR17 = 2017,
+ CV_SHMEDIA_CR18 = 2018,
+ CV_SHMEDIA_CR19 = 2019,
+ CV_SHMEDIA_CR20 = 2020,
+ CV_SHMEDIA_CR21 = 2021,
+ CV_SHMEDIA_CR22 = 2022,
+ CV_SHMEDIA_CR23 = 2023,
+ CV_SHMEDIA_CR24 = 2024,
+ CV_SHMEDIA_CR25 = 2025,
+ CV_SHMEDIA_CR26 = 2026,
+ CV_SHMEDIA_CR27 = 2027,
+ CV_SHMEDIA_CR28 = 2028,
+ CV_SHMEDIA_CR29 = 2029,
+ CV_SHMEDIA_CR30 = 2030,
+ CV_SHMEDIA_CR31 = 2031,
+ CV_SHMEDIA_CR32 = 2032,
+ CV_SHMEDIA_CR33 = 2033,
+ CV_SHMEDIA_CR34 = 2034,
+ CV_SHMEDIA_CR35 = 2035,
+ CV_SHMEDIA_CR36 = 2036,
+ CV_SHMEDIA_CR37 = 2037,
+ CV_SHMEDIA_CR38 = 2038,
+ CV_SHMEDIA_CR39 = 2039,
+ CV_SHMEDIA_CR40 = 2040,
+ CV_SHMEDIA_CR41 = 2041,
+ CV_SHMEDIA_CR42 = 2042,
+ CV_SHMEDIA_CR43 = 2043,
+ CV_SHMEDIA_CR44 = 2044,
+ CV_SHMEDIA_CR45 = 2045,
+ CV_SHMEDIA_CR46 = 2046,
+ CV_SHMEDIA_CR47 = 2047,
+ CV_SHMEDIA_CR48 = 2048,
+ CV_SHMEDIA_CR49 = 2049,
+ CV_SHMEDIA_CR50 = 2050,
+ CV_SHMEDIA_CR51 = 2051,
+ CV_SHMEDIA_CR52 = 2052,
+ CV_SHMEDIA_CR53 = 2053,
+ CV_SHMEDIA_CR54 = 2054,
+ CV_SHMEDIA_CR55 = 2055,
+ CV_SHMEDIA_CR56 = 2056,
+ CV_SHMEDIA_CR57 = 2057,
+ CV_SHMEDIA_CR58 = 2058,
+ CV_SHMEDIA_CR59 = 2059,
+ CV_SHMEDIA_CR60 = 2060,
+ CV_SHMEDIA_CR61 = 2061,
+ CV_SHMEDIA_CR62 = 2062,
+ CV_SHMEDIA_CR63 = 2063,
+
+ CV_SHMEDIA_FPSCR = 2064,
+
+ // Compact mode synonyms
+ CV_SHMEDIA_GBR = CV_SHMEDIA_R16,
+ CV_SHMEDIA_MACL = 90, // synonym for lower 32bits of media R17
+ CV_SHMEDIA_MACH = 91, // synonym for upper 32bits of media R17
+ CV_SHMEDIA_PR = CV_SHMEDIA_R18,
+ CV_SHMEDIA_T = 92, // synonym for lowest bit of media R19
+ CV_SHMEDIA_FPUL = CV_SHMEDIA_FR32,
+ CV_SHMEDIA_PC = 93,
+ CV_SHMEDIA_SR = CV_SHMEDIA_CR0,
+
+ //
+ // AMD64 registers
+ //
+
+ CV_AMD64_AL = 1,
+ CV_AMD64_CL = 2,
+ CV_AMD64_DL = 3,
+ CV_AMD64_BL = 4,
+ CV_AMD64_AH = 5,
+ CV_AMD64_CH = 6,
+ CV_AMD64_DH = 7,
+ CV_AMD64_BH = 8,
+ CV_AMD64_AX = 9,
+ CV_AMD64_CX = 10,
+ CV_AMD64_DX = 11,
+ CV_AMD64_BX = 12,
+ CV_AMD64_SP = 13,
+ CV_AMD64_BP = 14,
+ CV_AMD64_SI = 15,
+ CV_AMD64_DI = 16,
+ CV_AMD64_EAX = 17,
+ CV_AMD64_ECX = 18,
+ CV_AMD64_EDX = 19,
+ CV_AMD64_EBX = 20,
+ CV_AMD64_ESP = 21,
+ CV_AMD64_EBP = 22,
+ CV_AMD64_ESI = 23,
+ CV_AMD64_EDI = 24,
+ CV_AMD64_ES = 25,
+ CV_AMD64_CS = 26,
+ CV_AMD64_SS = 27,
+ CV_AMD64_DS = 28,
+ CV_AMD64_FS = 29,
+ CV_AMD64_GS = 30,
+ CV_AMD64_FLAGS = 32,
+ CV_AMD64_RIP = 33,
+ CV_AMD64_EFLAGS = 34,
+
+ // Control registers
+ CV_AMD64_CR0 = 80,
+ CV_AMD64_CR1 = 81,
+ CV_AMD64_CR2 = 82,
+ CV_AMD64_CR3 = 83,
+ CV_AMD64_CR4 = 84,
+ CV_AMD64_CR8 = 88,
+
+ // Debug registers
+ CV_AMD64_DR0 = 90,
+ CV_AMD64_DR1 = 91,
+ CV_AMD64_DR2 = 92,
+ CV_AMD64_DR3 = 93,
+ CV_AMD64_DR4 = 94,
+ CV_AMD64_DR5 = 95,
+ CV_AMD64_DR6 = 96,
+ CV_AMD64_DR7 = 97,
+ CV_AMD64_DR8 = 98,
+ CV_AMD64_DR9 = 99,
+ CV_AMD64_DR10 = 100,
+ CV_AMD64_DR11 = 101,
+ CV_AMD64_DR12 = 102,
+ CV_AMD64_DR13 = 103,
+ CV_AMD64_DR14 = 104,
+ CV_AMD64_DR15 = 105,
+
+ CV_AMD64_GDTR = 110,
+ CV_AMD64_GDTL = 111,
+ CV_AMD64_IDTR = 112,
+ CV_AMD64_IDTL = 113,
+ CV_AMD64_LDTR = 114,
+ CV_AMD64_TR = 115,
+
+ CV_AMD64_ST0 = 128,
+ CV_AMD64_ST1 = 129,
+ CV_AMD64_ST2 = 130,
+ CV_AMD64_ST3 = 131,
+ CV_AMD64_ST4 = 132,
+ CV_AMD64_ST5 = 133,
+ CV_AMD64_ST6 = 134,
+ CV_AMD64_ST7 = 135,
+ CV_AMD64_CTRL = 136,
+ CV_AMD64_STAT = 137,
+ CV_AMD64_TAG = 138,
+ CV_AMD64_FPIP = 139,
+ CV_AMD64_FPCS = 140,
+ CV_AMD64_FPDO = 141,
+ CV_AMD64_FPDS = 142,
+ CV_AMD64_ISEM = 143,
+ CV_AMD64_FPEIP = 144,
+ CV_AMD64_FPEDO = 145,
+
+ CV_AMD64_MM0 = 146,
+ CV_AMD64_MM1 = 147,
+ CV_AMD64_MM2 = 148,
+ CV_AMD64_MM3 = 149,
+ CV_AMD64_MM4 = 150,
+ CV_AMD64_MM5 = 151,
+ CV_AMD64_MM6 = 152,
+ CV_AMD64_MM7 = 153,
+
+ CV_AMD64_XMM0 = 154, // KATMAI registers
+ CV_AMD64_XMM1 = 155,
+ CV_AMD64_XMM2 = 156,
+ CV_AMD64_XMM3 = 157,
+ CV_AMD64_XMM4 = 158,
+ CV_AMD64_XMM5 = 159,
+ CV_AMD64_XMM6 = 160,
+ CV_AMD64_XMM7 = 161,
+
+ CV_AMD64_XMM0_0 = 162, // KATMAI sub-registers
+ CV_AMD64_XMM0_1 = 163,
+ CV_AMD64_XMM0_2 = 164,
+ CV_AMD64_XMM0_3 = 165,
+ CV_AMD64_XMM1_0 = 166,
+ CV_AMD64_XMM1_1 = 167,
+ CV_AMD64_XMM1_2 = 168,
+ CV_AMD64_XMM1_3 = 169,
+ CV_AMD64_XMM2_0 = 170,
+ CV_AMD64_XMM2_1 = 171,
+ CV_AMD64_XMM2_2 = 172,
+ CV_AMD64_XMM2_3 = 173,
+ CV_AMD64_XMM3_0 = 174,
+ CV_AMD64_XMM3_1 = 175,
+ CV_AMD64_XMM3_2 = 176,
+ CV_AMD64_XMM3_3 = 177,
+ CV_AMD64_XMM4_0 = 178,
+ CV_AMD64_XMM4_1 = 179,
+ CV_AMD64_XMM4_2 = 180,
+ CV_AMD64_XMM4_3 = 181,
+ CV_AMD64_XMM5_0 = 182,
+ CV_AMD64_XMM5_1 = 183,
+ CV_AMD64_XMM5_2 = 184,
+ CV_AMD64_XMM5_3 = 185,
+ CV_AMD64_XMM6_0 = 186,
+ CV_AMD64_XMM6_1 = 187,
+ CV_AMD64_XMM6_2 = 188,
+ CV_AMD64_XMM6_3 = 189,
+ CV_AMD64_XMM7_0 = 190,
+ CV_AMD64_XMM7_1 = 191,
+ CV_AMD64_XMM7_2 = 192,
+ CV_AMD64_XMM7_3 = 193,
+
+ CV_AMD64_XMM0L = 194,
+ CV_AMD64_XMM1L = 195,
+ CV_AMD64_XMM2L = 196,
+ CV_AMD64_XMM3L = 197,
+ CV_AMD64_XMM4L = 198,
+ CV_AMD64_XMM5L = 199,
+ CV_AMD64_XMM6L = 200,
+ CV_AMD64_XMM7L = 201,
+
+ CV_AMD64_XMM0H = 202,
+ CV_AMD64_XMM1H = 203,
+ CV_AMD64_XMM2H = 204,
+ CV_AMD64_XMM3H = 205,
+ CV_AMD64_XMM4H = 206,
+ CV_AMD64_XMM5H = 207,
+ CV_AMD64_XMM6H = 208,
+ CV_AMD64_XMM7H = 209,
+
+ CV_AMD64_MXCSR = 211, // XMM status register
+
+ CV_AMD64_EMM0L = 220, // XMM sub-registers (WNI integer)
+ CV_AMD64_EMM1L = 221,
+ CV_AMD64_EMM2L = 222,
+ CV_AMD64_EMM3L = 223,
+ CV_AMD64_EMM4L = 224,
+ CV_AMD64_EMM5L = 225,
+ CV_AMD64_EMM6L = 226,
+ CV_AMD64_EMM7L = 227,
+
+ CV_AMD64_EMM0H = 228,
+ CV_AMD64_EMM1H = 229,
+ CV_AMD64_EMM2H = 230,
+ CV_AMD64_EMM3H = 231,
+ CV_AMD64_EMM4H = 232,
+ CV_AMD64_EMM5H = 233,
+ CV_AMD64_EMM6H = 234,
+ CV_AMD64_EMM7H = 235,
+
+ // do not change the order of these regs, first one must be even too
+ CV_AMD64_MM00 = 236,
+ CV_AMD64_MM01 = 237,
+ CV_AMD64_MM10 = 238,
+ CV_AMD64_MM11 = 239,
+ CV_AMD64_MM20 = 240,
+ CV_AMD64_MM21 = 241,
+ CV_AMD64_MM30 = 242,
+ CV_AMD64_MM31 = 243,
+ CV_AMD64_MM40 = 244,
+ CV_AMD64_MM41 = 245,
+ CV_AMD64_MM50 = 246,
+ CV_AMD64_MM51 = 247,
+ CV_AMD64_MM60 = 248,
+ CV_AMD64_MM61 = 249,
+ CV_AMD64_MM70 = 250,
+ CV_AMD64_MM71 = 251,
+
+ // Extended KATMAI registers
+ CV_AMD64_XMM8 = 252, // KATMAI registers
+ CV_AMD64_XMM9 = 253,
+ CV_AMD64_XMM10 = 254,
+ CV_AMD64_XMM11 = 255,
+ CV_AMD64_XMM12 = 256,
+ CV_AMD64_XMM13 = 257,
+ CV_AMD64_XMM14 = 258,
+ CV_AMD64_XMM15 = 259,
+
+ CV_AMD64_XMM8_0 = 260, // KATMAI sub-registers
+ CV_AMD64_XMM8_1 = 261,
+ CV_AMD64_XMM8_2 = 262,
+ CV_AMD64_XMM8_3 = 263,
+ CV_AMD64_XMM9_0 = 264,
+ CV_AMD64_XMM9_1 = 265,
+ CV_AMD64_XMM9_2 = 266,
+ CV_AMD64_XMM9_3 = 267,
+ CV_AMD64_XMM10_0 = 268,
+ CV_AMD64_XMM10_1 = 269,
+ CV_AMD64_XMM10_2 = 270,
+ CV_AMD64_XMM10_3 = 271,
+ CV_AMD64_XMM11_0 = 272,
+ CV_AMD64_XMM11_1 = 273,
+ CV_AMD64_XMM11_2 = 274,
+ CV_AMD64_XMM11_3 = 275,
+ CV_AMD64_XMM12_0 = 276,
+ CV_AMD64_XMM12_1 = 277,
+ CV_AMD64_XMM12_2 = 278,
+ CV_AMD64_XMM12_3 = 279,
+ CV_AMD64_XMM13_0 = 280,
+ CV_AMD64_XMM13_1 = 281,
+ CV_AMD64_XMM13_2 = 282,
+ CV_AMD64_XMM13_3 = 283,
+ CV_AMD64_XMM14_0 = 284,
+ CV_AMD64_XMM14_1 = 285,
+ CV_AMD64_XMM14_2 = 286,
+ CV_AMD64_XMM14_3 = 287,
+ CV_AMD64_XMM15_0 = 288,
+ CV_AMD64_XMM15_1 = 289,
+ CV_AMD64_XMM15_2 = 290,
+ CV_AMD64_XMM15_3 = 291,
+
+ CV_AMD64_XMM8L = 292,
+ CV_AMD64_XMM9L = 293,
+ CV_AMD64_XMM10L = 294,
+ CV_AMD64_XMM11L = 295,
+ CV_AMD64_XMM12L = 296,
+ CV_AMD64_XMM13L = 297,
+ CV_AMD64_XMM14L = 298,
+ CV_AMD64_XMM15L = 299,
+
+ CV_AMD64_XMM8H = 300,
+ CV_AMD64_XMM9H = 301,
+ CV_AMD64_XMM10H = 302,
+ CV_AMD64_XMM11H = 303,
+ CV_AMD64_XMM12H = 304,
+ CV_AMD64_XMM13H = 305,
+ CV_AMD64_XMM14H = 306,
+ CV_AMD64_XMM15H = 307,
+
+ CV_AMD64_EMM8L = 308, // XMM sub-registers (WNI integer)
+ CV_AMD64_EMM9L = 309,
+ CV_AMD64_EMM10L = 310,
+ CV_AMD64_EMM11L = 311,
+ CV_AMD64_EMM12L = 312,
+ CV_AMD64_EMM13L = 313,
+ CV_AMD64_EMM14L = 314,
+ CV_AMD64_EMM15L = 315,
+
+ CV_AMD64_EMM8H = 316,
+ CV_AMD64_EMM9H = 317,
+ CV_AMD64_EMM10H = 318,
+ CV_AMD64_EMM11H = 319,
+ CV_AMD64_EMM12H = 320,
+ CV_AMD64_EMM13H = 321,
+ CV_AMD64_EMM14H = 322,
+ CV_AMD64_EMM15H = 323,
+
+ // Low byte forms of some standard registers
+ CV_AMD64_SIL = 324,
+ CV_AMD64_DIL = 325,
+ CV_AMD64_BPL = 326,
+ CV_AMD64_SPL = 327,
+
+ // 64-bit regular registers
+ CV_AMD64_RAX = 328,
+ CV_AMD64_RBX = 329,
+ CV_AMD64_RCX = 330,
+ CV_AMD64_RDX = 331,
+ CV_AMD64_RSI = 332,
+ CV_AMD64_RDI = 333,
+ CV_AMD64_RBP = 334,
+ CV_AMD64_RSP = 335,
+
+ // 64-bit integer registers with 8-, 16-, and 32-bit forms (B, W, and D)
+ CV_AMD64_R8 = 336,
+ CV_AMD64_R9 = 337,
+ CV_AMD64_R10 = 338,
+ CV_AMD64_R11 = 339,
+ CV_AMD64_R12 = 340,
+ CV_AMD64_R13 = 341,
+ CV_AMD64_R14 = 342,
+ CV_AMD64_R15 = 343,
+
+ CV_AMD64_R8B = 344,
+ CV_AMD64_R9B = 345,
+ CV_AMD64_R10B = 346,
+ CV_AMD64_R11B = 347,
+ CV_AMD64_R12B = 348,
+ CV_AMD64_R13B = 349,
+ CV_AMD64_R14B = 350,
+ CV_AMD64_R15B = 351,
+
+ CV_AMD64_R8W = 352,
+ CV_AMD64_R9W = 353,
+ CV_AMD64_R10W = 354,
+ CV_AMD64_R11W = 355,
+ CV_AMD64_R12W = 356,
+ CV_AMD64_R13W = 357,
+ CV_AMD64_R14W = 358,
+ CV_AMD64_R15W = 359,
+
+ CV_AMD64_R8D = 360,
+ CV_AMD64_R9D = 361,
+ CV_AMD64_R10D = 362,
+ CV_AMD64_R11D = 363,
+ CV_AMD64_R12D = 364,
+ CV_AMD64_R13D = 365,
+ CV_AMD64_R14D = 366,
+ CV_AMD64_R15D = 367,
+
+ // AVX registers 256 bits
+ CV_AMD64_YMM0 = 368,
+ CV_AMD64_YMM1 = 369,
+ CV_AMD64_YMM2 = 370,
+ CV_AMD64_YMM3 = 371,
+ CV_AMD64_YMM4 = 372,
+ CV_AMD64_YMM5 = 373,
+ CV_AMD64_YMM6 = 374,
+ CV_AMD64_YMM7 = 375,
+ CV_AMD64_YMM8 = 376,
+ CV_AMD64_YMM9 = 377,
+ CV_AMD64_YMM10 = 378,
+ CV_AMD64_YMM11 = 379,
+ CV_AMD64_YMM12 = 380,
+ CV_AMD64_YMM13 = 381,
+ CV_AMD64_YMM14 = 382,
+ CV_AMD64_YMM15 = 383,
+
+ // AVX registers upper 128 bits
+ CV_AMD64_YMM0H = 384,
+ CV_AMD64_YMM1H = 385,
+ CV_AMD64_YMM2H = 386,
+ CV_AMD64_YMM3H = 387,
+ CV_AMD64_YMM4H = 388,
+ CV_AMD64_YMM5H = 389,
+ CV_AMD64_YMM6H = 390,
+ CV_AMD64_YMM7H = 391,
+ CV_AMD64_YMM8H = 392,
+ CV_AMD64_YMM9H = 393,
+ CV_AMD64_YMM10H = 394,
+ CV_AMD64_YMM11H = 395,
+ CV_AMD64_YMM12H = 396,
+ CV_AMD64_YMM13H = 397,
+ CV_AMD64_YMM14H = 398,
+ CV_AMD64_YMM15H = 399,
+
+ //Lower/upper 8 bytes of XMM registers. Unlike CV_AMD64_XMM, these
+ //values reprsesent the bit patterns of the registers as 64-bit integers, not
+ //the representation of these registers as a double.
+ CV_AMD64_XMM0IL = 400,
+ CV_AMD64_XMM1IL = 401,
+ CV_AMD64_XMM2IL = 402,
+ CV_AMD64_XMM3IL = 403,
+ CV_AMD64_XMM4IL = 404,
+ CV_AMD64_XMM5IL = 405,
+ CV_AMD64_XMM6IL = 406,
+ CV_AMD64_XMM7IL = 407,
+ CV_AMD64_XMM8IL = 408,
+ CV_AMD64_XMM9IL = 409,
+ CV_AMD64_XMM10IL = 410,
+ CV_AMD64_XMM11IL = 411,
+ CV_AMD64_XMM12IL = 412,
+ CV_AMD64_XMM13IL = 413,
+ CV_AMD64_XMM14IL = 414,
+ CV_AMD64_XMM15IL = 415,
+
+ CV_AMD64_XMM0IH = 416,
+ CV_AMD64_XMM1IH = 417,
+ CV_AMD64_XMM2IH = 418,
+ CV_AMD64_XMM3IH = 419,
+ CV_AMD64_XMM4IH = 420,
+ CV_AMD64_XMM5IH = 421,
+ CV_AMD64_XMM6IH = 422,
+ CV_AMD64_XMM7IH = 423,
+ CV_AMD64_XMM8IH = 424,
+ CV_AMD64_XMM9IH = 425,
+ CV_AMD64_XMM10IH = 426,
+ CV_AMD64_XMM11IH = 427,
+ CV_AMD64_XMM12IH = 428,
+ CV_AMD64_XMM13IH = 429,
+ CV_AMD64_XMM14IH = 430,
+ CV_AMD64_XMM15IH = 431,
+
+ CV_AMD64_YMM0I0 = 432, // AVX integer registers
+ CV_AMD64_YMM0I1 = 433,
+ CV_AMD64_YMM0I2 = 434,
+ CV_AMD64_YMM0I3 = 435,
+ CV_AMD64_YMM1I0 = 436,
+ CV_AMD64_YMM1I1 = 437,
+ CV_AMD64_YMM1I2 = 438,
+ CV_AMD64_YMM1I3 = 439,
+ CV_AMD64_YMM2I0 = 440,
+ CV_AMD64_YMM2I1 = 441,
+ CV_AMD64_YMM2I2 = 442,
+ CV_AMD64_YMM2I3 = 443,
+ CV_AMD64_YMM3I0 = 444,
+ CV_AMD64_YMM3I1 = 445,
+ CV_AMD64_YMM3I2 = 446,
+ CV_AMD64_YMM3I3 = 447,
+ CV_AMD64_YMM4I0 = 448,
+ CV_AMD64_YMM4I1 = 449,
+ CV_AMD64_YMM4I2 = 450,
+ CV_AMD64_YMM4I3 = 451,
+ CV_AMD64_YMM5I0 = 452,
+ CV_AMD64_YMM5I1 = 453,
+ CV_AMD64_YMM5I2 = 454,
+ CV_AMD64_YMM5I3 = 455,
+ CV_AMD64_YMM6I0 = 456,
+ CV_AMD64_YMM6I1 = 457,
+ CV_AMD64_YMM6I2 = 458,
+ CV_AMD64_YMM6I3 = 459,
+ CV_AMD64_YMM7I0 = 460,
+ CV_AMD64_YMM7I1 = 461,
+ CV_AMD64_YMM7I2 = 462,
+ CV_AMD64_YMM7I3 = 463,
+ CV_AMD64_YMM8I0 = 464,
+ CV_AMD64_YMM8I1 = 465,
+ CV_AMD64_YMM8I2 = 466,
+ CV_AMD64_YMM8I3 = 467,
+ CV_AMD64_YMM9I0 = 468,
+ CV_AMD64_YMM9I1 = 469,
+ CV_AMD64_YMM9I2 = 470,
+ CV_AMD64_YMM9I3 = 471,
+ CV_AMD64_YMM10I0 = 472,
+ CV_AMD64_YMM10I1 = 473,
+ CV_AMD64_YMM10I2 = 474,
+ CV_AMD64_YMM10I3 = 475,
+ CV_AMD64_YMM11I0 = 476,
+ CV_AMD64_YMM11I1 = 477,
+ CV_AMD64_YMM11I2 = 478,
+ CV_AMD64_YMM11I3 = 479,
+ CV_AMD64_YMM12I0 = 480,
+ CV_AMD64_YMM12I1 = 481,
+ CV_AMD64_YMM12I2 = 482,
+ CV_AMD64_YMM12I3 = 483,
+ CV_AMD64_YMM13I0 = 484,
+ CV_AMD64_YMM13I1 = 485,
+ CV_AMD64_YMM13I2 = 486,
+ CV_AMD64_YMM13I3 = 487,
+ CV_AMD64_YMM14I0 = 488,
+ CV_AMD64_YMM14I1 = 489,
+ CV_AMD64_YMM14I2 = 490,
+ CV_AMD64_YMM14I3 = 491,
+ CV_AMD64_YMM15I0 = 492,
+ CV_AMD64_YMM15I1 = 493,
+ CV_AMD64_YMM15I2 = 494,
+ CV_AMD64_YMM15I3 = 495,
+
+ CV_AMD64_YMM0F0 = 496, // AVX floating-point single precise registers
+ CV_AMD64_YMM0F1 = 497,
+ CV_AMD64_YMM0F2 = 498,
+ CV_AMD64_YMM0F3 = 499,
+ CV_AMD64_YMM0F4 = 500,
+ CV_AMD64_YMM0F5 = 501,
+ CV_AMD64_YMM0F6 = 502,
+ CV_AMD64_YMM0F7 = 503,
+ CV_AMD64_YMM1F0 = 504,
+ CV_AMD64_YMM1F1 = 505,
+ CV_AMD64_YMM1F2 = 506,
+ CV_AMD64_YMM1F3 = 507,
+ CV_AMD64_YMM1F4 = 508,
+ CV_AMD64_YMM1F5 = 509,
+ CV_AMD64_YMM1F6 = 510,
+ CV_AMD64_YMM1F7 = 511,
+ CV_AMD64_YMM2F0 = 512,
+ CV_AMD64_YMM2F1 = 513,
+ CV_AMD64_YMM2F2 = 514,
+ CV_AMD64_YMM2F3 = 515,
+ CV_AMD64_YMM2F4 = 516,
+ CV_AMD64_YMM2F5 = 517,
+ CV_AMD64_YMM2F6 = 518,
+ CV_AMD64_YMM2F7 = 519,
+ CV_AMD64_YMM3F0 = 520,
+ CV_AMD64_YMM3F1 = 521,
+ CV_AMD64_YMM3F2 = 522,
+ CV_AMD64_YMM3F3 = 523,
+ CV_AMD64_YMM3F4 = 524,
+ CV_AMD64_YMM3F5 = 525,
+ CV_AMD64_YMM3F6 = 526,
+ CV_AMD64_YMM3F7 = 527,
+ CV_AMD64_YMM4F0 = 528,
+ CV_AMD64_YMM4F1 = 529,
+ CV_AMD64_YMM4F2 = 530,
+ CV_AMD64_YMM4F3 = 531,
+ CV_AMD64_YMM4F4 = 532,
+ CV_AMD64_YMM4F5 = 533,
+ CV_AMD64_YMM4F6 = 534,
+ CV_AMD64_YMM4F7 = 535,
+ CV_AMD64_YMM5F0 = 536,
+ CV_AMD64_YMM5F1 = 537,
+ CV_AMD64_YMM5F2 = 538,
+ CV_AMD64_YMM5F3 = 539,
+ CV_AMD64_YMM5F4 = 540,
+ CV_AMD64_YMM5F5 = 541,
+ CV_AMD64_YMM5F6 = 542,
+ CV_AMD64_YMM5F7 = 543,
+ CV_AMD64_YMM6F0 = 544,
+ CV_AMD64_YMM6F1 = 545,
+ CV_AMD64_YMM6F2 = 546,
+ CV_AMD64_YMM6F3 = 547,
+ CV_AMD64_YMM6F4 = 548,
+ CV_AMD64_YMM6F5 = 549,
+ CV_AMD64_YMM6F6 = 550,
+ CV_AMD64_YMM6F7 = 551,
+ CV_AMD64_YMM7F0 = 552,
+ CV_AMD64_YMM7F1 = 553,
+ CV_AMD64_YMM7F2 = 554,
+ CV_AMD64_YMM7F3 = 555,
+ CV_AMD64_YMM7F4 = 556,
+ CV_AMD64_YMM7F5 = 557,
+ CV_AMD64_YMM7F6 = 558,
+ CV_AMD64_YMM7F7 = 559,
+ CV_AMD64_YMM8F0 = 560,
+ CV_AMD64_YMM8F1 = 561,
+ CV_AMD64_YMM8F2 = 562,
+ CV_AMD64_YMM8F3 = 563,
+ CV_AMD64_YMM8F4 = 564,
+ CV_AMD64_YMM8F5 = 565,
+ CV_AMD64_YMM8F6 = 566,
+ CV_AMD64_YMM8F7 = 567,
+ CV_AMD64_YMM9F0 = 568,
+ CV_AMD64_YMM9F1 = 569,
+ CV_AMD64_YMM9F2 = 570,
+ CV_AMD64_YMM9F3 = 571,
+ CV_AMD64_YMM9F4 = 572,
+ CV_AMD64_YMM9F5 = 573,
+ CV_AMD64_YMM9F6 = 574,
+ CV_AMD64_YMM9F7 = 575,
+ CV_AMD64_YMM10F0 = 576,
+ CV_AMD64_YMM10F1 = 577,
+ CV_AMD64_YMM10F2 = 578,
+ CV_AMD64_YMM10F3 = 579,
+ CV_AMD64_YMM10F4 = 580,
+ CV_AMD64_YMM10F5 = 581,
+ CV_AMD64_YMM10F6 = 582,
+ CV_AMD64_YMM10F7 = 583,
+ CV_AMD64_YMM11F0 = 584,
+ CV_AMD64_YMM11F1 = 585,
+ CV_AMD64_YMM11F2 = 586,
+ CV_AMD64_YMM11F3 = 587,
+ CV_AMD64_YMM11F4 = 588,
+ CV_AMD64_YMM11F5 = 589,
+ CV_AMD64_YMM11F6 = 590,
+ CV_AMD64_YMM11F7 = 591,
+ CV_AMD64_YMM12F0 = 592,
+ CV_AMD64_YMM12F1 = 593,
+ CV_AMD64_YMM12F2 = 594,
+ CV_AMD64_YMM12F3 = 595,
+ CV_AMD64_YMM12F4 = 596,
+ CV_AMD64_YMM12F5 = 597,
+ CV_AMD64_YMM12F6 = 598,
+ CV_AMD64_YMM12F7 = 599,
+ CV_AMD64_YMM13F0 = 600,
+ CV_AMD64_YMM13F1 = 601,
+ CV_AMD64_YMM13F2 = 602,
+ CV_AMD64_YMM13F3 = 603,
+ CV_AMD64_YMM13F4 = 604,
+ CV_AMD64_YMM13F5 = 605,
+ CV_AMD64_YMM13F6 = 606,
+ CV_AMD64_YMM13F7 = 607,
+ CV_AMD64_YMM14F0 = 608,
+ CV_AMD64_YMM14F1 = 609,
+ CV_AMD64_YMM14F2 = 610,
+ CV_AMD64_YMM14F3 = 611,
+ CV_AMD64_YMM14F4 = 612,
+ CV_AMD64_YMM14F5 = 613,
+ CV_AMD64_YMM14F6 = 614,
+ CV_AMD64_YMM14F7 = 615,
+ CV_AMD64_YMM15F0 = 616,
+ CV_AMD64_YMM15F1 = 617,
+ CV_AMD64_YMM15F2 = 618,
+ CV_AMD64_YMM15F3 = 619,
+ CV_AMD64_YMM15F4 = 620,
+ CV_AMD64_YMM15F5 = 621,
+ CV_AMD64_YMM15F6 = 622,
+ CV_AMD64_YMM15F7 = 623,
+
+ CV_AMD64_YMM0D0 = 624, // AVX floating-point double precise registers
+ CV_AMD64_YMM0D1 = 625,
+ CV_AMD64_YMM0D2 = 626,
+ CV_AMD64_YMM0D3 = 627,
+ CV_AMD64_YMM1D0 = 628,
+ CV_AMD64_YMM1D1 = 629,
+ CV_AMD64_YMM1D2 = 630,
+ CV_AMD64_YMM1D3 = 631,
+ CV_AMD64_YMM2D0 = 632,
+ CV_AMD64_YMM2D1 = 633,
+ CV_AMD64_YMM2D2 = 634,
+ CV_AMD64_YMM2D3 = 635,
+ CV_AMD64_YMM3D0 = 636,
+ CV_AMD64_YMM3D1 = 637,
+ CV_AMD64_YMM3D2 = 638,
+ CV_AMD64_YMM3D3 = 639,
+ CV_AMD64_YMM4D0 = 640,
+ CV_AMD64_YMM4D1 = 641,
+ CV_AMD64_YMM4D2 = 642,
+ CV_AMD64_YMM4D3 = 643,
+ CV_AMD64_YMM5D0 = 644,
+ CV_AMD64_YMM5D1 = 645,
+ CV_AMD64_YMM5D2 = 646,
+ CV_AMD64_YMM5D3 = 647,
+ CV_AMD64_YMM6D0 = 648,
+ CV_AMD64_YMM6D1 = 649,
+ CV_AMD64_YMM6D2 = 650,
+ CV_AMD64_YMM6D3 = 651,
+ CV_AMD64_YMM7D0 = 652,
+ CV_AMD64_YMM7D1 = 653,
+ CV_AMD64_YMM7D2 = 654,
+ CV_AMD64_YMM7D3 = 655,
+ CV_AMD64_YMM8D0 = 656,
+ CV_AMD64_YMM8D1 = 657,
+ CV_AMD64_YMM8D2 = 658,
+ CV_AMD64_YMM8D3 = 659,
+ CV_AMD64_YMM9D0 = 660,
+ CV_AMD64_YMM9D1 = 661,
+ CV_AMD64_YMM9D2 = 662,
+ CV_AMD64_YMM9D3 = 663,
+ CV_AMD64_YMM10D0 = 664,
+ CV_AMD64_YMM10D1 = 665,
+ CV_AMD64_YMM10D2 = 666,
+ CV_AMD64_YMM10D3 = 667,
+ CV_AMD64_YMM11D0 = 668,
+ CV_AMD64_YMM11D1 = 669,
+ CV_AMD64_YMM11D2 = 670,
+ CV_AMD64_YMM11D3 = 671,
+ CV_AMD64_YMM12D0 = 672,
+ CV_AMD64_YMM12D1 = 673,
+ CV_AMD64_YMM12D2 = 674,
+ CV_AMD64_YMM12D3 = 675,
+ CV_AMD64_YMM13D0 = 676,
+ CV_AMD64_YMM13D1 = 677,
+ CV_AMD64_YMM13D2 = 678,
+ CV_AMD64_YMM13D3 = 679,
+ CV_AMD64_YMM14D0 = 680,
+ CV_AMD64_YMM14D1 = 681,
+ CV_AMD64_YMM14D2 = 682,
+ CV_AMD64_YMM14D3 = 683,
+ CV_AMD64_YMM15D0 = 684,
+ CV_AMD64_YMM15D1 = 685,
+ CV_AMD64_YMM15D2 = 686,
+ CV_AMD64_YMM15D3 = 687,
+
+ CV_AMD64_BND0 = 688, // AMD64 MPX bounds registers
+ CV_AMD64_BND1 = 689,
+ CV_AMD64_BND2 = 690,
+ CV_AMD64_BND3 = 691,
+ CV_AMD64_BNDCFGU = 692,
+ CV_AMD64_BNDSTATUS = 693,
+
+ CV_AMD64_XMM16 = 694, // AVX-512 registers
+ CV_AMD64_XMM17 = 695,
+ CV_AMD64_XMM18 = 696,
+ CV_AMD64_XMM19 = 697,
+ CV_AMD64_XMM20 = 698,
+ CV_AMD64_XMM21 = 699,
+ CV_AMD64_XMM22 = 700,
+ CV_AMD64_XMM23 = 701,
+ CV_AMD64_XMM24 = 702,
+ CV_AMD64_XMM25 = 703,
+ CV_AMD64_XMM26 = 704,
+ CV_AMD64_XMM27 = 705,
+ CV_AMD64_XMM28 = 706,
+ CV_AMD64_XMM29 = 707,
+ CV_AMD64_XMM30 = 708,
+ CV_AMD64_XMM31 = 709,
+
+ CV_AMD64_YMM16 = 710,
+ CV_AMD64_YMM17 = 711,
+ CV_AMD64_YMM18 = 712,
+ CV_AMD64_YMM19 = 713,
+ CV_AMD64_YMM20 = 714,
+ CV_AMD64_YMM21 = 715,
+ CV_AMD64_YMM22 = 716,
+ CV_AMD64_YMM23 = 717,
+ CV_AMD64_YMM24 = 718,
+ CV_AMD64_YMM25 = 719,
+ CV_AMD64_YMM26 = 720,
+ CV_AMD64_YMM27 = 721,
+ CV_AMD64_YMM28 = 722,
+ CV_AMD64_YMM29 = 723,
+ CV_AMD64_YMM30 = 724,
+ CV_AMD64_YMM31 = 725,
+
+ CV_AMD64_ZMM0 = 726,
+ CV_AMD64_ZMM1 = 727,
+ CV_AMD64_ZMM2 = 728,
+ CV_AMD64_ZMM3 = 729,
+ CV_AMD64_ZMM4 = 730,
+ CV_AMD64_ZMM5 = 731,
+ CV_AMD64_ZMM6 = 732,
+ CV_AMD64_ZMM7 = 733,
+ CV_AMD64_ZMM8 = 734,
+ CV_AMD64_ZMM9 = 735,
+ CV_AMD64_ZMM10 = 736,
+ CV_AMD64_ZMM11 = 737,
+ CV_AMD64_ZMM12 = 738,
+ CV_AMD64_ZMM13 = 739,
+ CV_AMD64_ZMM14 = 740,
+ CV_AMD64_ZMM15 = 741,
+ CV_AMD64_ZMM16 = 742,
+ CV_AMD64_ZMM17 = 743,
+ CV_AMD64_ZMM18 = 744,
+ CV_AMD64_ZMM19 = 745,
+ CV_AMD64_ZMM20 = 746,
+ CV_AMD64_ZMM21 = 747,
+ CV_AMD64_ZMM22 = 748,
+ CV_AMD64_ZMM23 = 749,
+ CV_AMD64_ZMM24 = 750,
+ CV_AMD64_ZMM25 = 751,
+ CV_AMD64_ZMM26 = 752,
+ CV_AMD64_ZMM27 = 753,
+ CV_AMD64_ZMM28 = 754,
+ CV_AMD64_ZMM29 = 755,
+ CV_AMD64_ZMM30 = 756,
+ CV_AMD64_ZMM31 = 757,
+
+ CV_AMD64_K0 = 758,
+ CV_AMD64_K1 = 759,
+ CV_AMD64_K2 = 760,
+ CV_AMD64_K3 = 761,
+ CV_AMD64_K4 = 762,
+ CV_AMD64_K5 = 763,
+ CV_AMD64_K6 = 764,
+ CV_AMD64_K7 = 765,
+
+ CV_AMD64_ZMM0H = 766, // upper 256 bits of the first 16 AMD64 AVX-512 registers
+ CV_AMD64_ZMM1H = 767,
+ CV_AMD64_ZMM2H = 768,
+ CV_AMD64_ZMM3H = 769,
+ CV_AMD64_ZMM4H = 770,
+ CV_AMD64_ZMM5H = 771,
+ CV_AMD64_ZMM6H = 772,
+ CV_AMD64_ZMM7H = 773,
+ CV_AMD64_ZMM8H = 774,
+ CV_AMD64_ZMM9H = 775,
+ CV_AMD64_ZMM10H = 776,
+ CV_AMD64_ZMM11H = 777,
+ CV_AMD64_ZMM12H = 778,
+ CV_AMD64_ZMM13H = 779,
+ CV_AMD64_ZMM14H = 780,
+ CV_AMD64_ZMM15H = 781,
+
+ CV_AMD64_XMM16L = 782, // extended KATMAI registers
+ CV_AMD64_XMM17L = 783,
+ CV_AMD64_XMM18L = 784,
+ CV_AMD64_XMM19L = 785,
+ CV_AMD64_XMM20L = 786,
+ CV_AMD64_XMM21L = 787,
+ CV_AMD64_XMM22L = 788,
+ CV_AMD64_XMM23L = 789,
+ CV_AMD64_XMM24L = 790,
+ CV_AMD64_XMM25L = 791,
+ CV_AMD64_XMM26L = 792,
+ CV_AMD64_XMM27L = 793,
+ CV_AMD64_XMM28L = 794,
+ CV_AMD64_XMM29L = 795,
+ CV_AMD64_XMM30L = 796,
+ CV_AMD64_XMM31L = 797,
+
+ CV_AMD64_XMM16_0 = 798,
+ CV_AMD64_XMM17_0 = 799,
+ CV_AMD64_XMM18_0 = 800,
+ CV_AMD64_XMM19_0 = 801,
+ CV_AMD64_XMM20_0 = 802,
+ CV_AMD64_XMM21_0 = 803,
+ CV_AMD64_XMM22_0 = 804,
+ CV_AMD64_XMM23_0 = 805,
+ CV_AMD64_XMM24_0 = 806,
+ CV_AMD64_XMM25_0 = 807,
+ CV_AMD64_XMM26_0 = 808,
+ CV_AMD64_XMM27_0 = 809,
+ CV_AMD64_XMM28_0 = 810,
+ CV_AMD64_XMM29_0 = 811,
+ CV_AMD64_XMM30_0 = 812,
+ CV_AMD64_XMM31_0 = 813,
+
+ CV_AMD64_XMM16H = 814,
+ CV_AMD64_XMM17H = 815,
+ CV_AMD64_XMM18H = 816,
+ CV_AMD64_XMM19H = 817,
+ CV_AMD64_XMM20H = 818,
+ CV_AMD64_XMM21H = 819,
+ CV_AMD64_XMM22H = 820,
+ CV_AMD64_XMM23H = 821,
+ CV_AMD64_XMM24H = 822,
+ CV_AMD64_XMM25H = 823,
+ CV_AMD64_XMM26H = 824,
+ CV_AMD64_XMM27H = 825,
+ CV_AMD64_XMM28H = 826,
+ CV_AMD64_XMM29H = 827,
+ CV_AMD64_XMM30H = 828,
+ CV_AMD64_XMM31H = 829,
+
+ CV_AMD64_EMM16H = 830,
+ CV_AMD64_EMM17H = 831,
+ CV_AMD64_EMM18H = 832,
+ CV_AMD64_EMM19H = 833,
+ CV_AMD64_EMM20H = 834,
+ CV_AMD64_EMM21H = 835,
+ CV_AMD64_EMM22H = 836,
+ CV_AMD64_EMM23H = 837,
+ CV_AMD64_EMM24H = 838,
+ CV_AMD64_EMM25H = 839,
+ CV_AMD64_EMM26H = 840,
+ CV_AMD64_EMM27H = 841,
+ CV_AMD64_EMM28H = 842,
+ CV_AMD64_EMM29H = 843,
+ CV_AMD64_EMM30H = 844,
+ CV_AMD64_EMM31H = 845,
+
+ CV_AMD64_SSP = 846, // CET- Shadow Stack Pointer
+
+ CV_AMD64_TMM0 = 847, // AMX tile registers
+ CV_AMD64_TMM1 = 848,
+ CV_AMD64_TMM2 = 849,
+ CV_AMD64_TMM3 = 850,
+ CV_AMD64_TMM4 = 851,
+ CV_AMD64_TMM5 = 852,
+ CV_AMD64_TMM6 = 853,
+ CV_AMD64_TMM7 = 854,
+
+ // Note: Next set of platform registers need to go into a new enum...
+ // this one is above 44K now.
+
+} CV_HREG_e;
+
+typedef enum CV_HLSLREG_e
+{
+ CV_HLSLREG_TEMP = 0,
+ CV_HLSLREG_INPUT = 1,
+ CV_HLSLREG_OUTPUT = 2,
+ CV_HLSLREG_INDEXABLE_TEMP = 3,
+ CV_HLSLREG_IMMEDIATE32 = 4,
+ CV_HLSLREG_IMMEDIATE64 = 5,
+ CV_HLSLREG_SAMPLER = 6,
+ CV_HLSLREG_RESOURCE = 7,
+ CV_HLSLREG_CONSTANT_BUFFER = 8,
+ CV_HLSLREG_IMMEDIATE_CONSTANT_BUFFER = 9,
+ CV_HLSLREG_LABEL = 10,
+ CV_HLSLREG_INPUT_PRIMITIVEID = 11,
+ CV_HLSLREG_OUTPUT_DEPTH = 12,
+ CV_HLSLREG_NULL = 13,
+ CV_HLSLREG_RASTERIZER = 14,
+ CV_HLSLREG_OUTPUT_COVERAGE_MASK = 15,
+ CV_HLSLREG_STREAM = 16,
+ CV_HLSLREG_FUNCTION_BODY = 17,
+ CV_HLSLREG_FUNCTION_TABLE = 18,
+ CV_HLSLREG_INTERFACE = 19,
+ CV_HLSLREG_FUNCTION_INPUT = 20,
+ CV_HLSLREG_FUNCTION_OUTPUT = 21,
+ CV_HLSLREG_OUTPUT_CONTROL_POINT_ID = 22,
+ CV_HLSLREG_INPUT_FORK_INSTANCE_ID = 23,
+ CV_HLSLREG_INPUT_JOIN_INSTANCE_ID = 24,
+ CV_HLSLREG_INPUT_CONTROL_POINT = 25,
+ CV_HLSLREG_OUTPUT_CONTROL_POINT = 26,
+ CV_HLSLREG_INPUT_PATCH_CONSTANT = 27,
+ CV_HLSLREG_INPUT_DOMAIN_POINT = 28,
+ CV_HLSLREG_THIS_POINTER = 29,
+ CV_HLSLREG_UNORDERED_ACCESS_VIEW = 30,
+ CV_HLSLREG_THREAD_GROUP_SHARED_MEMORY = 31,
+ CV_HLSLREG_INPUT_THREAD_ID = 32,
+ CV_HLSLREG_INPUT_THREAD_GROUP_ID = 33,
+ CV_HLSLREG_INPUT_THREAD_ID_IN_GROUP = 34,
+ CV_HLSLREG_INPUT_COVERAGE_MASK = 35,
+ CV_HLSLREG_INPUT_THREAD_ID_IN_GROUP_FLATTENED = 36,
+ CV_HLSLREG_INPUT_GS_INSTANCE_ID = 37,
+ CV_HLSLREG_OUTPUT_DEPTH_GREATER_EQUAL = 38,
+ CV_HLSLREG_OUTPUT_DEPTH_LESS_EQUAL = 39,
+ CV_HLSLREG_CYCLE_COUNTER = 40,
+} CV_HLSLREG_e;
+
+enum StackFrameTypeEnum
+{
+ FrameTypeFPO, // Frame pointer omitted, FPO info available
+ FrameTypeTrap, // Kernel Trap frame
+ FrameTypeTSS, // Kernel Trap frame
+ FrameTypeStandard, // Standard EBP stackframe
+ FrameTypeFrameData, // Frame pointer omitted, FrameData info available
+
+ FrameTypeUnknown = -1, // Frame which does not have any debug info
+};
+
+enum MemoryTypeEnum
+{
+ MemTypeCode, // Read only code memory
+ MemTypeData, // Read only data/stack memory
+ MemTypeStack, // Read only stack memory
+ MemTypeCodeOnHeap, // Read only memory for code generated on heap by runtime
+
+ MemTypeAny = -1,
+};
+
+typedef enum CV_HLSLMemorySpace_e
+{
+ // HLSL specific memory spaces
+
+ CV_HLSL_MEMSPACE_DATA = 0x00,
+ CV_HLSL_MEMSPACE_SAMPLER = 0x01,
+ CV_HLSL_MEMSPACE_RESOURCE = 0x02,
+ CV_HLSL_MEMSPACE_RWRESOURCE = 0x03,
+
+ CV_HLSL_MEMSPACE_MAX = 0x0F,
+} CV_HLSLMemorySpace_e;
+
+enum
+{
+ NAMEHASH_BUILD_START,
+ NAMEHASH_BUILD_PAUSE,
+ NAMEHASH_BUILD_RESUME,
+ NAMEHASH_BUILD_COMPLETE,
+ NAMEHASH_BUILD_ERROR,
+ NAMEHASH_BUILD_OOM = NAMEHASH_BUILD_ERROR,
+ NAMEHASH_BUILD_FAIL_TO_OPEN_MOD,
+};
+
+#endif
diff --git a/libraries/dia/dia2.h b/libraries/dia/dia2.h
new file mode 100644
index 0000000..299bf25
--- /dev/null
+++ b/libraries/dia/dia2.h
@@ -0,0 +1,21777 @@
+
+
+/* this ALWAYS GENERATED file contains the definitions for the interfaces */
+
+
+ /* File created by MIDL compiler version 8.01.0622 */
+/* @@MIDL_FILE_HEADING( ) */
+
+#pragma warning( disable: 4049 ) /* more than 64k source lines */
+
+
+/* verify that the version is high enough to compile this file*/
+#ifndef __REQUIRED_RPCNDR_H_VERSION__
+#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#endif
+
+/* verify that the version is high enough to compile this file*/
+#ifndef __REQUIRED_RPCSAL_H_VERSION__
+#define __REQUIRED_RPCSAL_H_VERSION__ 100
+#endif
+
+#include "rpc.h"
+#include "rpcndr.h"
+
+#ifndef __RPCNDR_H_VERSION__
+#error this stub requires an updated version of
+#endif /* __RPCNDR_H_VERSION__ */
+
+#ifndef COM_NO_WINDOWS_H
+#include "windows.h"
+#include "ole2.h"
+#endif /*COM_NO_WINDOWS_H*/
+
+#ifndef __dia2_h__
+#define __dia2_h__
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+#pragma once
+#endif
+
+/* Forward Declarations */
+
+#ifndef __IDiaLoadCallback_FWD_DEFINED__
+#define __IDiaLoadCallback_FWD_DEFINED__
+typedef interface IDiaLoadCallback IDiaLoadCallback;
+
+#endif /* __IDiaLoadCallback_FWD_DEFINED__ */
+
+
+#ifndef __IDiaLoadCallback2_FWD_DEFINED__
+#define __IDiaLoadCallback2_FWD_DEFINED__
+typedef interface IDiaLoadCallback2 IDiaLoadCallback2;
+
+#endif /* __IDiaLoadCallback2_FWD_DEFINED__ */
+
+
+#ifndef __IDiaReadExeAtOffsetCallback_FWD_DEFINED__
+#define __IDiaReadExeAtOffsetCallback_FWD_DEFINED__
+typedef interface IDiaReadExeAtOffsetCallback IDiaReadExeAtOffsetCallback;
+
+#endif /* __IDiaReadExeAtOffsetCallback_FWD_DEFINED__ */
+
+
+#ifndef __IDiaReadExeAtRVACallback_FWD_DEFINED__
+#define __IDiaReadExeAtRVACallback_FWD_DEFINED__
+typedef interface IDiaReadExeAtRVACallback IDiaReadExeAtRVACallback;
+
+#endif /* __IDiaReadExeAtRVACallback_FWD_DEFINED__ */
+
+
+#ifndef __IDiaDataSource_FWD_DEFINED__
+#define __IDiaDataSource_FWD_DEFINED__
+typedef interface IDiaDataSource IDiaDataSource;
+
+#endif /* __IDiaDataSource_FWD_DEFINED__ */
+
+
+#ifndef __IDiaEnumSymbols_FWD_DEFINED__
+#define __IDiaEnumSymbols_FWD_DEFINED__
+typedef interface IDiaEnumSymbols IDiaEnumSymbols;
+
+#endif /* __IDiaEnumSymbols_FWD_DEFINED__ */
+
+
+#ifndef __IDiaEnumSymbolsByAddr_FWD_DEFINED__
+#define __IDiaEnumSymbolsByAddr_FWD_DEFINED__
+typedef interface IDiaEnumSymbolsByAddr IDiaEnumSymbolsByAddr;
+
+#endif /* __IDiaEnumSymbolsByAddr_FWD_DEFINED__ */
+
+
+#ifndef __IDiaEnumSourceFiles_FWD_DEFINED__
+#define __IDiaEnumSourceFiles_FWD_DEFINED__
+typedef interface IDiaEnumSourceFiles IDiaEnumSourceFiles;
+
+#endif /* __IDiaEnumSourceFiles_FWD_DEFINED__ */
+
+
+#ifndef __IDiaEnumInputAssemblyFiles_FWD_DEFINED__
+#define __IDiaEnumInputAssemblyFiles_FWD_DEFINED__
+typedef interface IDiaEnumInputAssemblyFiles IDiaEnumInputAssemblyFiles;
+
+#endif /* __IDiaEnumInputAssemblyFiles_FWD_DEFINED__ */
+
+
+#ifndef __IDiaEnumLineNumbers_FWD_DEFINED__
+#define __IDiaEnumLineNumbers_FWD_DEFINED__
+typedef interface IDiaEnumLineNumbers IDiaEnumLineNumbers;
+
+#endif /* __IDiaEnumLineNumbers_FWD_DEFINED__ */
+
+
+#ifndef __IDiaEnumInjectedSources_FWD_DEFINED__
+#define __IDiaEnumInjectedSources_FWD_DEFINED__
+typedef interface IDiaEnumInjectedSources IDiaEnumInjectedSources;
+
+#endif /* __IDiaEnumInjectedSources_FWD_DEFINED__ */
+
+
+#ifndef __IDiaEnumSegments_FWD_DEFINED__
+#define __IDiaEnumSegments_FWD_DEFINED__
+typedef interface IDiaEnumSegments IDiaEnumSegments;
+
+#endif /* __IDiaEnumSegments_FWD_DEFINED__ */
+
+
+#ifndef __IDiaEnumSectionContribs_FWD_DEFINED__
+#define __IDiaEnumSectionContribs_FWD_DEFINED__
+typedef interface IDiaEnumSectionContribs IDiaEnumSectionContribs;
+
+#endif /* __IDiaEnumSectionContribs_FWD_DEFINED__ */
+
+
+#ifndef __IDiaEnumFrameData_FWD_DEFINED__
+#define __IDiaEnumFrameData_FWD_DEFINED__
+typedef interface IDiaEnumFrameData IDiaEnumFrameData;
+
+#endif /* __IDiaEnumFrameData_FWD_DEFINED__ */
+
+
+#ifndef __IDiaEnumDebugStreamData_FWD_DEFINED__
+#define __IDiaEnumDebugStreamData_FWD_DEFINED__
+typedef interface IDiaEnumDebugStreamData IDiaEnumDebugStreamData;
+
+#endif /* __IDiaEnumDebugStreamData_FWD_DEFINED__ */
+
+
+#ifndef __IDiaEnumDebugStreams_FWD_DEFINED__
+#define __IDiaEnumDebugStreams_FWD_DEFINED__
+typedef interface IDiaEnumDebugStreams IDiaEnumDebugStreams;
+
+#endif /* __IDiaEnumDebugStreams_FWD_DEFINED__ */
+
+
+#ifndef __IDiaAddressMap_FWD_DEFINED__
+#define __IDiaAddressMap_FWD_DEFINED__
+typedef interface IDiaAddressMap IDiaAddressMap;
+
+#endif /* __IDiaAddressMap_FWD_DEFINED__ */
+
+
+#ifndef __IDiaSession_FWD_DEFINED__
+#define __IDiaSession_FWD_DEFINED__
+typedef interface IDiaSession IDiaSession;
+
+#endif /* __IDiaSession_FWD_DEFINED__ */
+
+
+#ifndef __IDiaSymbol_FWD_DEFINED__
+#define __IDiaSymbol_FWD_DEFINED__
+typedef interface IDiaSymbol IDiaSymbol;
+
+#endif /* __IDiaSymbol_FWD_DEFINED__ */
+
+
+#ifndef __IDiaSymbol2_FWD_DEFINED__
+#define __IDiaSymbol2_FWD_DEFINED__
+typedef interface IDiaSymbol2 IDiaSymbol2;
+
+#endif /* __IDiaSymbol2_FWD_DEFINED__ */
+
+
+#ifndef __IDiaSymbol3_FWD_DEFINED__
+#define __IDiaSymbol3_FWD_DEFINED__
+typedef interface IDiaSymbol3 IDiaSymbol3;
+
+#endif /* __IDiaSymbol3_FWD_DEFINED__ */
+
+
+#ifndef __IDiaSymbol4_FWD_DEFINED__
+#define __IDiaSymbol4_FWD_DEFINED__
+typedef interface IDiaSymbol4 IDiaSymbol4;
+
+#endif /* __IDiaSymbol4_FWD_DEFINED__ */
+
+
+#ifndef __IDiaSymbol5_FWD_DEFINED__
+#define __IDiaSymbol5_FWD_DEFINED__
+typedef interface IDiaSymbol5 IDiaSymbol5;
+
+#endif /* __IDiaSymbol5_FWD_DEFINED__ */
+
+
+#ifndef __IDiaSymbol6_FWD_DEFINED__
+#define __IDiaSymbol6_FWD_DEFINED__
+typedef interface IDiaSymbol6 IDiaSymbol6;
+
+#endif /* __IDiaSymbol6_FWD_DEFINED__ */
+
+
+#ifndef __IDiaSymbol7_FWD_DEFINED__
+#define __IDiaSymbol7_FWD_DEFINED__
+typedef interface IDiaSymbol7 IDiaSymbol7;
+
+#endif /* __IDiaSymbol7_FWD_DEFINED__ */
+
+
+#ifndef __IDiaSourceFile_FWD_DEFINED__
+#define __IDiaSourceFile_FWD_DEFINED__
+typedef interface IDiaSourceFile IDiaSourceFile;
+
+#endif /* __IDiaSourceFile_FWD_DEFINED__ */
+
+
+#ifndef __IDiaInputAssemblyFile_FWD_DEFINED__
+#define __IDiaInputAssemblyFile_FWD_DEFINED__
+typedef interface IDiaInputAssemblyFile IDiaInputAssemblyFile;
+
+#endif /* __IDiaInputAssemblyFile_FWD_DEFINED__ */
+
+
+#ifndef __IDiaLineNumber_FWD_DEFINED__
+#define __IDiaLineNumber_FWD_DEFINED__
+typedef interface IDiaLineNumber IDiaLineNumber;
+
+#endif /* __IDiaLineNumber_FWD_DEFINED__ */
+
+
+#ifndef __IDiaSectionContrib_FWD_DEFINED__
+#define __IDiaSectionContrib_FWD_DEFINED__
+typedef interface IDiaSectionContrib IDiaSectionContrib;
+
+#endif /* __IDiaSectionContrib_FWD_DEFINED__ */
+
+
+#ifndef __IDiaSegment_FWD_DEFINED__
+#define __IDiaSegment_FWD_DEFINED__
+typedef interface IDiaSegment IDiaSegment;
+
+#endif /* __IDiaSegment_FWD_DEFINED__ */
+
+
+#ifndef __IDiaInjectedSource_FWD_DEFINED__
+#define __IDiaInjectedSource_FWD_DEFINED__
+typedef interface IDiaInjectedSource IDiaInjectedSource;
+
+#endif /* __IDiaInjectedSource_FWD_DEFINED__ */
+
+
+#ifndef __IDiaStackWalkFrame_FWD_DEFINED__
+#define __IDiaStackWalkFrame_FWD_DEFINED__
+typedef interface IDiaStackWalkFrame IDiaStackWalkFrame;
+
+#endif /* __IDiaStackWalkFrame_FWD_DEFINED__ */
+
+
+#ifndef __IDiaFrameData_FWD_DEFINED__
+#define __IDiaFrameData_FWD_DEFINED__
+typedef interface IDiaFrameData IDiaFrameData;
+
+#endif /* __IDiaFrameData_FWD_DEFINED__ */
+
+
+#ifndef __IDiaImageData_FWD_DEFINED__
+#define __IDiaImageData_FWD_DEFINED__
+typedef interface IDiaImageData IDiaImageData;
+
+#endif /* __IDiaImageData_FWD_DEFINED__ */
+
+
+#ifndef __IDiaTable_FWD_DEFINED__
+#define __IDiaTable_FWD_DEFINED__
+typedef interface IDiaTable IDiaTable;
+
+#endif /* __IDiaTable_FWD_DEFINED__ */
+
+
+#ifndef __IDiaEnumTables_FWD_DEFINED__
+#define __IDiaEnumTables_FWD_DEFINED__
+typedef interface IDiaEnumTables IDiaEnumTables;
+
+#endif /* __IDiaEnumTables_FWD_DEFINED__ */
+
+
+#ifndef __DiaSource_FWD_DEFINED__
+#define __DiaSource_FWD_DEFINED__
+
+#ifdef __cplusplus
+typedef class DiaSource DiaSource;
+#else
+typedef struct DiaSource DiaSource;
+#endif /* __cplusplus */
+
+#endif /* __DiaSource_FWD_DEFINED__ */
+
+
+#ifndef __DiaSourceAlt_FWD_DEFINED__
+#define __DiaSourceAlt_FWD_DEFINED__
+
+#ifdef __cplusplus
+typedef class DiaSourceAlt DiaSourceAlt;
+#else
+typedef struct DiaSourceAlt DiaSourceAlt;
+#endif /* __cplusplus */
+
+#endif /* __DiaSourceAlt_FWD_DEFINED__ */
+
+
+#ifndef __DiaStackWalker_FWD_DEFINED__
+#define __DiaStackWalker_FWD_DEFINED__
+
+#ifdef __cplusplus
+typedef class DiaStackWalker DiaStackWalker;
+#else
+typedef struct DiaStackWalker DiaStackWalker;
+#endif /* __cplusplus */
+
+#endif /* __DiaStackWalker_FWD_DEFINED__ */
+
+
+#ifndef __IDiaSectionContrib_FWD_DEFINED__
+#define __IDiaSectionContrib_FWD_DEFINED__
+typedef interface IDiaSectionContrib IDiaSectionContrib;
+
+#endif /* __IDiaSectionContrib_FWD_DEFINED__ */
+
+
+#ifndef __IDiaEnumSectionContribs_FWD_DEFINED__
+#define __IDiaEnumSectionContribs_FWD_DEFINED__
+typedef interface IDiaEnumSectionContribs IDiaEnumSectionContribs;
+
+#endif /* __IDiaEnumSectionContribs_FWD_DEFINED__ */
+
+
+#ifndef __IDiaSymbol_FWD_DEFINED__
+#define __IDiaSymbol_FWD_DEFINED__
+typedef interface IDiaSymbol IDiaSymbol;
+
+#endif /* __IDiaSymbol_FWD_DEFINED__ */
+
+
+#ifndef __IDiaSymbol2_FWD_DEFINED__
+#define __IDiaSymbol2_FWD_DEFINED__
+typedef interface IDiaSymbol2 IDiaSymbol2;
+
+#endif /* __IDiaSymbol2_FWD_DEFINED__ */
+
+
+#ifndef __IDiaSymbol3_FWD_DEFINED__
+#define __IDiaSymbol3_FWD_DEFINED__
+typedef interface IDiaSymbol3 IDiaSymbol3;
+
+#endif /* __IDiaSymbol3_FWD_DEFINED__ */
+
+
+#ifndef __IDiaSymbol4_FWD_DEFINED__
+#define __IDiaSymbol4_FWD_DEFINED__
+typedef interface IDiaSymbol4 IDiaSymbol4;
+
+#endif /* __IDiaSymbol4_FWD_DEFINED__ */
+
+
+#ifndef __IDiaSymbol5_FWD_DEFINED__
+#define __IDiaSymbol5_FWD_DEFINED__
+typedef interface IDiaSymbol5 IDiaSymbol5;
+
+#endif /* __IDiaSymbol5_FWD_DEFINED__ */
+
+
+#ifndef __IDiaSymbol6_FWD_DEFINED__
+#define __IDiaSymbol6_FWD_DEFINED__
+typedef interface IDiaSymbol6 IDiaSymbol6;
+
+#endif /* __IDiaSymbol6_FWD_DEFINED__ */
+
+
+#ifndef __IDiaPropertyStorage_FWD_DEFINED__
+#define __IDiaPropertyStorage_FWD_DEFINED__
+typedef interface IDiaPropertyStorage IDiaPropertyStorage;
+
+#endif /* __IDiaPropertyStorage_FWD_DEFINED__ */
+
+
+#ifndef __IDiaStackFrame_FWD_DEFINED__
+#define __IDiaStackFrame_FWD_DEFINED__
+typedef interface IDiaStackFrame IDiaStackFrame;
+
+#endif /* __IDiaStackFrame_FWD_DEFINED__ */
+
+
+#ifndef __IDiaEnumStackFrames_FWD_DEFINED__
+#define __IDiaEnumStackFrames_FWD_DEFINED__
+typedef interface IDiaEnumStackFrames IDiaEnumStackFrames;
+
+#endif /* __IDiaEnumStackFrames_FWD_DEFINED__ */
+
+
+#ifndef __IDiaStackWalkHelper_FWD_DEFINED__
+#define __IDiaStackWalkHelper_FWD_DEFINED__
+typedef interface IDiaStackWalkHelper IDiaStackWalkHelper;
+
+#endif /* __IDiaStackWalkHelper_FWD_DEFINED__ */
+
+
+#ifndef __IDiaStackWalker_FWD_DEFINED__
+#define __IDiaStackWalker_FWD_DEFINED__
+typedef interface IDiaStackWalker IDiaStackWalker;
+
+#endif /* __IDiaStackWalker_FWD_DEFINED__ */
+
+
+#ifndef __IDiaStackWalkHelper2_FWD_DEFINED__
+#define __IDiaStackWalkHelper2_FWD_DEFINED__
+typedef interface IDiaStackWalkHelper2 IDiaStackWalkHelper2;
+
+#endif /* __IDiaStackWalkHelper2_FWD_DEFINED__ */
+
+
+#ifndef __IDiaStackWalker2_FWD_DEFINED__
+#define __IDiaStackWalker2_FWD_DEFINED__
+typedef interface IDiaStackWalker2 IDiaStackWalker2;
+
+#endif /* __IDiaStackWalker2_FWD_DEFINED__ */
+
+
+/* header files for imported files */
+#include "objidl.h"
+#include "oaidl.h"
+#include "propidl.h"
+#include "cvconst.h"
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+
+/* interface __MIDL_itf_dia2_0000_0000 */
+/* [local] */
+
+
+enum NameSearchOptions
+ {
+ nsNone = 0,
+ nsfCaseSensitive = 0x1,
+ nsfCaseInsensitive = 0x2,
+ nsfFNameExt = 0x4,
+ nsfRegularExpression = 0x8,
+ nsfUndecoratedName = 0x10,
+ nsCaseSensitive = nsfCaseSensitive,
+ nsCaseInsensitive = nsfCaseInsensitive,
+ nsFNameExt = ( nsfCaseInsensitive | nsfFNameExt ) ,
+ nsRegularExpression = ( nsfRegularExpression | nsfCaseSensitive ) ,
+ nsCaseInRegularExpression = ( nsfRegularExpression | nsfCaseInsensitive )
+ } ;
+
+enum __MIDL___MIDL_itf_dia2_0000_0000_0001
+ {
+ E_PDB_OK = ( HRESULT )(( ( ( ( unsigned long )1 << 31 ) | ( ( unsigned long )( LONG )0x6d << 16 ) ) | ( unsigned long )1 ) ),
+ E_PDB_USAGE = ( E_PDB_OK + 1 ) ,
+ E_PDB_OUT_OF_MEMORY = ( E_PDB_USAGE + 1 ) ,
+ E_PDB_FILE_SYSTEM = ( E_PDB_OUT_OF_MEMORY + 1 ) ,
+ E_PDB_NOT_FOUND = ( E_PDB_FILE_SYSTEM + 1 ) ,
+ E_PDB_INVALID_SIG = ( E_PDB_NOT_FOUND + 1 ) ,
+ E_PDB_INVALID_AGE = ( E_PDB_INVALID_SIG + 1 ) ,
+ E_PDB_PRECOMP_REQUIRED = ( E_PDB_INVALID_AGE + 1 ) ,
+ E_PDB_OUT_OF_TI = ( E_PDB_PRECOMP_REQUIRED + 1 ) ,
+ E_PDB_NOT_IMPLEMENTED = ( E_PDB_OUT_OF_TI + 1 ) ,
+ E_PDB_V1_PDB = ( E_PDB_NOT_IMPLEMENTED + 1 ) ,
+ E_PDB_FORMAT = ( E_PDB_V1_PDB + 1 ) ,
+ E_PDB_LIMIT = ( E_PDB_FORMAT + 1 ) ,
+ E_PDB_CORRUPT = ( E_PDB_LIMIT + 1 ) ,
+ E_PDB_TI16 = ( E_PDB_CORRUPT + 1 ) ,
+ E_PDB_ACCESS_DENIED = ( E_PDB_TI16 + 1 ) ,
+ E_PDB_ILLEGAL_TYPE_EDIT = ( E_PDB_ACCESS_DENIED + 1 ) ,
+ E_PDB_INVALID_EXECUTABLE = ( E_PDB_ILLEGAL_TYPE_EDIT + 1 ) ,
+ E_PDB_DBG_NOT_FOUND = ( E_PDB_INVALID_EXECUTABLE + 1 ) ,
+ E_PDB_NO_DEBUG_INFO = ( E_PDB_DBG_NOT_FOUND + 1 ) ,
+ E_PDB_INVALID_EXE_TIMESTAMP = ( E_PDB_NO_DEBUG_INFO + 1 ) ,
+ E_PDB_RESERVED = ( E_PDB_INVALID_EXE_TIMESTAMP + 1 ) ,
+ E_PDB_DEBUG_INFO_NOT_IN_PDB = ( E_PDB_RESERVED + 1 ) ,
+ E_PDB_SYMSRV_BAD_CACHE_PATH = ( E_PDB_DEBUG_INFO_NOT_IN_PDB + 1 ) ,
+ E_PDB_SYMSRV_CACHE_FULL = ( E_PDB_SYMSRV_BAD_CACHE_PATH + 1 ) ,
+ E_PDB_OBJECT_DISPOSED = ( E_PDB_SYMSRV_CACHE_FULL + 1 ) ,
+ E_PDB_MAX = ( E_PDB_OBJECT_DISPOSED + 1 )
+ } ;
+typedef void ( __cdecl *PfnPDBDebugDirV )(
+ BOOL __MIDL____MIDL_itf_dia2_0000_00000000,
+ void *__MIDL____MIDL_itf_dia2_0000_00000001);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_dia2_0000_0000_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_dia2_0000_0000_v0_0_s_ifspec;
+
+#ifndef __IDiaLoadCallback_INTERFACE_DEFINED__
+#define __IDiaLoadCallback_INTERFACE_DEFINED__
+
+/* interface IDiaLoadCallback */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaLoadCallback;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("C32ADB82-73F4-421b-95D5-A4706EDF5DBE")
+ IDiaLoadCallback : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE NotifyDebugDir(
+ /* [in] */ BOOL fExecutable,
+ /* [in] */ DWORD cbData,
+ /* [size_is][in] */ BYTE *pbData) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE NotifyOpenDBG(
+ /* [in] */ LPCOLESTR dbgPath,
+ /* [in] */ HRESULT resultCode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE NotifyOpenPDB(
+ /* [in] */ LPCOLESTR pdbPath,
+ /* [in] */ HRESULT resultCode) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RestrictRegistryAccess( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RestrictSymbolServerAccess( void) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaLoadCallbackVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaLoadCallback * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaLoadCallback * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaLoadCallback * This);
+
+ HRESULT ( STDMETHODCALLTYPE *NotifyDebugDir )(
+ IDiaLoadCallback * This,
+ /* [in] */ BOOL fExecutable,
+ /* [in] */ DWORD cbData,
+ /* [size_is][in] */ BYTE *pbData);
+
+ HRESULT ( STDMETHODCALLTYPE *NotifyOpenDBG )(
+ IDiaLoadCallback * This,
+ /* [in] */ LPCOLESTR dbgPath,
+ /* [in] */ HRESULT resultCode);
+
+ HRESULT ( STDMETHODCALLTYPE *NotifyOpenPDB )(
+ IDiaLoadCallback * This,
+ /* [in] */ LPCOLESTR pdbPath,
+ /* [in] */ HRESULT resultCode);
+
+ HRESULT ( STDMETHODCALLTYPE *RestrictRegistryAccess )(
+ IDiaLoadCallback * This);
+
+ HRESULT ( STDMETHODCALLTYPE *RestrictSymbolServerAccess )(
+ IDiaLoadCallback * This);
+
+ END_INTERFACE
+ } IDiaLoadCallbackVtbl;
+
+ interface IDiaLoadCallback
+ {
+ CONST_VTBL struct IDiaLoadCallbackVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaLoadCallback_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaLoadCallback_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaLoadCallback_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaLoadCallback_NotifyDebugDir(This,fExecutable,cbData,pbData) \
+ ( (This)->lpVtbl -> NotifyDebugDir(This,fExecutable,cbData,pbData) )
+
+#define IDiaLoadCallback_NotifyOpenDBG(This,dbgPath,resultCode) \
+ ( (This)->lpVtbl -> NotifyOpenDBG(This,dbgPath,resultCode) )
+
+#define IDiaLoadCallback_NotifyOpenPDB(This,pdbPath,resultCode) \
+ ( (This)->lpVtbl -> NotifyOpenPDB(This,pdbPath,resultCode) )
+
+#define IDiaLoadCallback_RestrictRegistryAccess(This) \
+ ( (This)->lpVtbl -> RestrictRegistryAccess(This) )
+
+#define IDiaLoadCallback_RestrictSymbolServerAccess(This) \
+ ( (This)->lpVtbl -> RestrictSymbolServerAccess(This) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaLoadCallback_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaLoadCallback2_INTERFACE_DEFINED__
+#define __IDiaLoadCallback2_INTERFACE_DEFINED__
+
+/* interface IDiaLoadCallback2 */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaLoadCallback2;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("4688a074-5a4d-4486-aea8-7b90711d9f7c")
+ IDiaLoadCallback2 : public IDiaLoadCallback
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE RestrictOriginalPathAccess( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RestrictReferencePathAccess( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RestrictDBGAccess( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RestrictSystemRootAccess( void) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaLoadCallback2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaLoadCallback2 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaLoadCallback2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaLoadCallback2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *NotifyDebugDir )(
+ IDiaLoadCallback2 * This,
+ /* [in] */ BOOL fExecutable,
+ /* [in] */ DWORD cbData,
+ /* [size_is][in] */ BYTE *pbData);
+
+ HRESULT ( STDMETHODCALLTYPE *NotifyOpenDBG )(
+ IDiaLoadCallback2 * This,
+ /* [in] */ LPCOLESTR dbgPath,
+ /* [in] */ HRESULT resultCode);
+
+ HRESULT ( STDMETHODCALLTYPE *NotifyOpenPDB )(
+ IDiaLoadCallback2 * This,
+ /* [in] */ LPCOLESTR pdbPath,
+ /* [in] */ HRESULT resultCode);
+
+ HRESULT ( STDMETHODCALLTYPE *RestrictRegistryAccess )(
+ IDiaLoadCallback2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *RestrictSymbolServerAccess )(
+ IDiaLoadCallback2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *RestrictOriginalPathAccess )(
+ IDiaLoadCallback2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *RestrictReferencePathAccess )(
+ IDiaLoadCallback2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *RestrictDBGAccess )(
+ IDiaLoadCallback2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *RestrictSystemRootAccess )(
+ IDiaLoadCallback2 * This);
+
+ END_INTERFACE
+ } IDiaLoadCallback2Vtbl;
+
+ interface IDiaLoadCallback2
+ {
+ CONST_VTBL struct IDiaLoadCallback2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaLoadCallback2_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaLoadCallback2_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaLoadCallback2_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaLoadCallback2_NotifyDebugDir(This,fExecutable,cbData,pbData) \
+ ( (This)->lpVtbl -> NotifyDebugDir(This,fExecutable,cbData,pbData) )
+
+#define IDiaLoadCallback2_NotifyOpenDBG(This,dbgPath,resultCode) \
+ ( (This)->lpVtbl -> NotifyOpenDBG(This,dbgPath,resultCode) )
+
+#define IDiaLoadCallback2_NotifyOpenPDB(This,pdbPath,resultCode) \
+ ( (This)->lpVtbl -> NotifyOpenPDB(This,pdbPath,resultCode) )
+
+#define IDiaLoadCallback2_RestrictRegistryAccess(This) \
+ ( (This)->lpVtbl -> RestrictRegistryAccess(This) )
+
+#define IDiaLoadCallback2_RestrictSymbolServerAccess(This) \
+ ( (This)->lpVtbl -> RestrictSymbolServerAccess(This) )
+
+
+#define IDiaLoadCallback2_RestrictOriginalPathAccess(This) \
+ ( (This)->lpVtbl -> RestrictOriginalPathAccess(This) )
+
+#define IDiaLoadCallback2_RestrictReferencePathAccess(This) \
+ ( (This)->lpVtbl -> RestrictReferencePathAccess(This) )
+
+#define IDiaLoadCallback2_RestrictDBGAccess(This) \
+ ( (This)->lpVtbl -> RestrictDBGAccess(This) )
+
+#define IDiaLoadCallback2_RestrictSystemRootAccess(This) \
+ ( (This)->lpVtbl -> RestrictSystemRootAccess(This) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaLoadCallback2_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaReadExeAtOffsetCallback_INTERFACE_DEFINED__
+#define __IDiaReadExeAtOffsetCallback_INTERFACE_DEFINED__
+
+/* interface IDiaReadExeAtOffsetCallback */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaReadExeAtOffsetCallback;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("587A461C-B80B-4f54-9194-5032589A6319")
+ IDiaReadExeAtOffsetCallback : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE ReadExecutableAt(
+ /* [in] */ DWORDLONG fileOffset,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaReadExeAtOffsetCallbackVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaReadExeAtOffsetCallback * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaReadExeAtOffsetCallback * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaReadExeAtOffsetCallback * This);
+
+ HRESULT ( STDMETHODCALLTYPE *ReadExecutableAt )(
+ IDiaReadExeAtOffsetCallback * This,
+ /* [in] */ DWORDLONG fileOffset,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData);
+
+ END_INTERFACE
+ } IDiaReadExeAtOffsetCallbackVtbl;
+
+ interface IDiaReadExeAtOffsetCallback
+ {
+ CONST_VTBL struct IDiaReadExeAtOffsetCallbackVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaReadExeAtOffsetCallback_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaReadExeAtOffsetCallback_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaReadExeAtOffsetCallback_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaReadExeAtOffsetCallback_ReadExecutableAt(This,fileOffset,cbData,pcbData,pbData) \
+ ( (This)->lpVtbl -> ReadExecutableAt(This,fileOffset,cbData,pcbData,pbData) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaReadExeAtOffsetCallback_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaReadExeAtRVACallback_INTERFACE_DEFINED__
+#define __IDiaReadExeAtRVACallback_INTERFACE_DEFINED__
+
+/* interface IDiaReadExeAtRVACallback */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaReadExeAtRVACallback;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("8E3F80CA-7517-432a-BA07-285134AAEA8E")
+ IDiaReadExeAtRVACallback : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE ReadExecutableAtRVA(
+ /* [in] */ DWORD relativeVirtualAddress,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaReadExeAtRVACallbackVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaReadExeAtRVACallback * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaReadExeAtRVACallback * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaReadExeAtRVACallback * This);
+
+ HRESULT ( STDMETHODCALLTYPE *ReadExecutableAtRVA )(
+ IDiaReadExeAtRVACallback * This,
+ /* [in] */ DWORD relativeVirtualAddress,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData);
+
+ END_INTERFACE
+ } IDiaReadExeAtRVACallbackVtbl;
+
+ interface IDiaReadExeAtRVACallback
+ {
+ CONST_VTBL struct IDiaReadExeAtRVACallbackVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaReadExeAtRVACallback_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaReadExeAtRVACallback_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaReadExeAtRVACallback_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaReadExeAtRVACallback_ReadExecutableAtRVA(This,relativeVirtualAddress,cbData,pcbData,pbData) \
+ ( (This)->lpVtbl -> ReadExecutableAtRVA(This,relativeVirtualAddress,cbData,pcbData,pbData) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaReadExeAtRVACallback_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaDataSource_INTERFACE_DEFINED__
+#define __IDiaDataSource_INTERFACE_DEFINED__
+
+/* interface IDiaDataSource */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaDataSource;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("79F1BB5F-B66E-48e5-B6A9-1545C323CA3D")
+ IDiaDataSource : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lastError(
+ /* [retval][out] */ BSTR *pRetVal) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE loadDataFromPdb(
+ /* [in] */ LPCOLESTR pdbPath) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE loadAndValidateDataFromPdb(
+ /* [in] */ LPCOLESTR pdbPath,
+ /* [in] */ GUID *pcsig70,
+ /* [in] */ DWORD sig,
+ /* [in] */ DWORD age) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE loadDataForExe(
+ /* [in] */ LPCOLESTR executable,
+ /* [in] */ LPCOLESTR searchPath,
+ /* [in] */ IUnknown *pCallback) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE loadDataFromIStream(
+ /* [in] */ IStream *pIStream) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE openSession(
+ /* [out] */ IDiaSession **ppSession) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE loadDataFromCodeViewInfo(
+ /* [in] */ LPCOLESTR executable,
+ /* [in] */ LPCOLESTR searchPath,
+ /* [in] */ DWORD cbCvInfo,
+ /* [size_is][in] */ BYTE *pbCvInfo,
+ /* [in] */ IUnknown *pCallback) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE loadDataFromMiscInfo(
+ /* [in] */ LPCOLESTR executable,
+ /* [in] */ LPCOLESTR searchPath,
+ /* [in] */ DWORD timeStampExe,
+ /* [in] */ DWORD timeStampDbg,
+ /* [in] */ DWORD sizeOfExe,
+ /* [in] */ DWORD cbMiscInfo,
+ /* [size_is][in] */ BYTE *pbMiscInfo,
+ /* [in] */ IUnknown *pCallback) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaDataSourceVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaDataSource * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaDataSource * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaDataSource * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastError )(
+ IDiaDataSource * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *loadDataFromPdb )(
+ IDiaDataSource * This,
+ /* [in] */ LPCOLESTR pdbPath);
+
+ HRESULT ( STDMETHODCALLTYPE *loadAndValidateDataFromPdb )(
+ IDiaDataSource * This,
+ /* [in] */ LPCOLESTR pdbPath,
+ /* [in] */ GUID *pcsig70,
+ /* [in] */ DWORD sig,
+ /* [in] */ DWORD age);
+
+ HRESULT ( STDMETHODCALLTYPE *loadDataForExe )(
+ IDiaDataSource * This,
+ /* [in] */ LPCOLESTR executable,
+ /* [in] */ LPCOLESTR searchPath,
+ /* [in] */ IUnknown *pCallback);
+
+ HRESULT ( STDMETHODCALLTYPE *loadDataFromIStream )(
+ IDiaDataSource * This,
+ /* [in] */ IStream *pIStream);
+
+ HRESULT ( STDMETHODCALLTYPE *openSession )(
+ IDiaDataSource * This,
+ /* [out] */ IDiaSession **ppSession);
+
+ HRESULT ( STDMETHODCALLTYPE *loadDataFromCodeViewInfo )(
+ IDiaDataSource * This,
+ /* [in] */ LPCOLESTR executable,
+ /* [in] */ LPCOLESTR searchPath,
+ /* [in] */ DWORD cbCvInfo,
+ /* [size_is][in] */ BYTE *pbCvInfo,
+ /* [in] */ IUnknown *pCallback);
+
+ HRESULT ( STDMETHODCALLTYPE *loadDataFromMiscInfo )(
+ IDiaDataSource * This,
+ /* [in] */ LPCOLESTR executable,
+ /* [in] */ LPCOLESTR searchPath,
+ /* [in] */ DWORD timeStampExe,
+ /* [in] */ DWORD timeStampDbg,
+ /* [in] */ DWORD sizeOfExe,
+ /* [in] */ DWORD cbMiscInfo,
+ /* [size_is][in] */ BYTE *pbMiscInfo,
+ /* [in] */ IUnknown *pCallback);
+
+ END_INTERFACE
+ } IDiaDataSourceVtbl;
+
+ interface IDiaDataSource
+ {
+ CONST_VTBL struct IDiaDataSourceVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaDataSource_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaDataSource_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaDataSource_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaDataSource_get_lastError(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lastError(This,pRetVal) )
+
+#define IDiaDataSource_loadDataFromPdb(This,pdbPath) \
+ ( (This)->lpVtbl -> loadDataFromPdb(This,pdbPath) )
+
+#define IDiaDataSource_loadAndValidateDataFromPdb(This,pdbPath,pcsig70,sig,age) \
+ ( (This)->lpVtbl -> loadAndValidateDataFromPdb(This,pdbPath,pcsig70,sig,age) )
+
+#define IDiaDataSource_loadDataForExe(This,executable,searchPath,pCallback) \
+ ( (This)->lpVtbl -> loadDataForExe(This,executable,searchPath,pCallback) )
+
+#define IDiaDataSource_loadDataFromIStream(This,pIStream) \
+ ( (This)->lpVtbl -> loadDataFromIStream(This,pIStream) )
+
+#define IDiaDataSource_openSession(This,ppSession) \
+ ( (This)->lpVtbl -> openSession(This,ppSession) )
+
+#define IDiaDataSource_loadDataFromCodeViewInfo(This,executable,searchPath,cbCvInfo,pbCvInfo,pCallback) \
+ ( (This)->lpVtbl -> loadDataFromCodeViewInfo(This,executable,searchPath,cbCvInfo,pbCvInfo,pCallback) )
+
+#define IDiaDataSource_loadDataFromMiscInfo(This,executable,searchPath,timeStampExe,timeStampDbg,sizeOfExe,cbMiscInfo,pbMiscInfo,pCallback) \
+ ( (This)->lpVtbl -> loadDataFromMiscInfo(This,executable,searchPath,timeStampExe,timeStampDbg,sizeOfExe,cbMiscInfo,pbMiscInfo,pCallback) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaDataSource_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaEnumSymbols_INTERFACE_DEFINED__
+#define __IDiaEnumSymbols_INTERFACE_DEFINED__
+
+/* interface IDiaEnumSymbols */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaEnumSymbols;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("CAB72C48-443B-48f5-9B0B-42F0820AB29A")
+ IDiaEnumSymbols : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
+ /* [retval][out] */ IUnknown **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
+ /* [retval][out] */ LONG *pRetVal) = 0;
+
+ virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item(
+ /* [in] */ DWORD index,
+ /* [retval][out] */ IDiaSymbol **symbol) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ /* [in] */ ULONG celt,
+ /* [out] */ IDiaSymbol **rgelt,
+ /* [out] */ ULONG *pceltFetched) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Skip(
+ /* [in] */ ULONG celt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Clone(
+ /* [out] */ IDiaEnumSymbols **ppenum) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaEnumSymbolsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaEnumSymbols * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaEnumSymbols * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaEnumSymbols * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
+ IDiaEnumSymbols * This,
+ /* [retval][out] */ IUnknown **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
+ IDiaEnumSymbols * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )(
+ IDiaEnumSymbols * This,
+ /* [in] */ DWORD index,
+ /* [retval][out] */ IDiaSymbol **symbol);
+
+ HRESULT ( STDMETHODCALLTYPE *Next )(
+ IDiaEnumSymbols * This,
+ /* [in] */ ULONG celt,
+ /* [out] */ IDiaSymbol **rgelt,
+ /* [out] */ ULONG *pceltFetched);
+
+ HRESULT ( STDMETHODCALLTYPE *Skip )(
+ IDiaEnumSymbols * This,
+ /* [in] */ ULONG celt);
+
+ HRESULT ( STDMETHODCALLTYPE *Reset )(
+ IDiaEnumSymbols * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Clone )(
+ IDiaEnumSymbols * This,
+ /* [out] */ IDiaEnumSymbols **ppenum);
+
+ END_INTERFACE
+ } IDiaEnumSymbolsVtbl;
+
+ interface IDiaEnumSymbols
+ {
+ CONST_VTBL struct IDiaEnumSymbolsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaEnumSymbols_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaEnumSymbols_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaEnumSymbols_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaEnumSymbols_get__NewEnum(This,pRetVal) \
+ ( (This)->lpVtbl -> get__NewEnum(This,pRetVal) )
+
+#define IDiaEnumSymbols_get_Count(This,pRetVal) \
+ ( (This)->lpVtbl -> get_Count(This,pRetVal) )
+
+#define IDiaEnumSymbols_Item(This,index,symbol) \
+ ( (This)->lpVtbl -> Item(This,index,symbol) )
+
+#define IDiaEnumSymbols_Next(This,celt,rgelt,pceltFetched) \
+ ( (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched) )
+
+#define IDiaEnumSymbols_Skip(This,celt) \
+ ( (This)->lpVtbl -> Skip(This,celt) )
+
+#define IDiaEnumSymbols_Reset(This) \
+ ( (This)->lpVtbl -> Reset(This) )
+
+#define IDiaEnumSymbols_Clone(This,ppenum) \
+ ( (This)->lpVtbl -> Clone(This,ppenum) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaEnumSymbols_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaEnumSymbolsByAddr_INTERFACE_DEFINED__
+#define __IDiaEnumSymbolsByAddr_INTERFACE_DEFINED__
+
+/* interface IDiaEnumSymbolsByAddr */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaEnumSymbolsByAddr;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("624B7D9C-24EA-4421-9D06-3B577471C1FA")
+ IDiaEnumSymbolsByAddr : public IUnknown
+ {
+ public:
+ virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE symbolByAddr(
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [retval][out] */ IDiaSymbol **ppSymbol) = 0;
+
+ virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE symbolByRVA(
+ /* [in] */ DWORD relativeVirtualAddress,
+ /* [retval][out] */ IDiaSymbol **ppSymbol) = 0;
+
+ virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE symbolByVA(
+ /* [in] */ ULONGLONG virtualAddress,
+ /* [retval][out] */ IDiaSymbol **ppSymbol) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ /* [in] */ ULONG celt,
+ /* [out] */ IDiaSymbol **rgelt,
+ /* [out] */ ULONG *pceltFetched) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Prev(
+ /* [in] */ ULONG celt,
+ /* [out] */ IDiaSymbol **rgelt,
+ /* [out] */ ULONG *pceltFetched) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Clone(
+ /* [out] */ IDiaEnumSymbolsByAddr **ppenum) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaEnumSymbolsByAddrVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaEnumSymbolsByAddr * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaEnumSymbolsByAddr * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaEnumSymbolsByAddr * This);
+
+ /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *symbolByAddr )(
+ IDiaEnumSymbolsByAddr * This,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [retval][out] */ IDiaSymbol **ppSymbol);
+
+ /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *symbolByRVA )(
+ IDiaEnumSymbolsByAddr * This,
+ /* [in] */ DWORD relativeVirtualAddress,
+ /* [retval][out] */ IDiaSymbol **ppSymbol);
+
+ /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *symbolByVA )(
+ IDiaEnumSymbolsByAddr * This,
+ /* [in] */ ULONGLONG virtualAddress,
+ /* [retval][out] */ IDiaSymbol **ppSymbol);
+
+ HRESULT ( STDMETHODCALLTYPE *Next )(
+ IDiaEnumSymbolsByAddr * This,
+ /* [in] */ ULONG celt,
+ /* [out] */ IDiaSymbol **rgelt,
+ /* [out] */ ULONG *pceltFetched);
+
+ HRESULT ( STDMETHODCALLTYPE *Prev )(
+ IDiaEnumSymbolsByAddr * This,
+ /* [in] */ ULONG celt,
+ /* [out] */ IDiaSymbol **rgelt,
+ /* [out] */ ULONG *pceltFetched);
+
+ HRESULT ( STDMETHODCALLTYPE *Clone )(
+ IDiaEnumSymbolsByAddr * This,
+ /* [out] */ IDiaEnumSymbolsByAddr **ppenum);
+
+ END_INTERFACE
+ } IDiaEnumSymbolsByAddrVtbl;
+
+ interface IDiaEnumSymbolsByAddr
+ {
+ CONST_VTBL struct IDiaEnumSymbolsByAddrVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaEnumSymbolsByAddr_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaEnumSymbolsByAddr_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaEnumSymbolsByAddr_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaEnumSymbolsByAddr_symbolByAddr(This,isect,offset,ppSymbol) \
+ ( (This)->lpVtbl -> symbolByAddr(This,isect,offset,ppSymbol) )
+
+#define IDiaEnumSymbolsByAddr_symbolByRVA(This,relativeVirtualAddress,ppSymbol) \
+ ( (This)->lpVtbl -> symbolByRVA(This,relativeVirtualAddress,ppSymbol) )
+
+#define IDiaEnumSymbolsByAddr_symbolByVA(This,virtualAddress,ppSymbol) \
+ ( (This)->lpVtbl -> symbolByVA(This,virtualAddress,ppSymbol) )
+
+#define IDiaEnumSymbolsByAddr_Next(This,celt,rgelt,pceltFetched) \
+ ( (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched) )
+
+#define IDiaEnumSymbolsByAddr_Prev(This,celt,rgelt,pceltFetched) \
+ ( (This)->lpVtbl -> Prev(This,celt,rgelt,pceltFetched) )
+
+#define IDiaEnumSymbolsByAddr_Clone(This,ppenum) \
+ ( (This)->lpVtbl -> Clone(This,ppenum) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaEnumSymbolsByAddr_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaEnumSourceFiles_INTERFACE_DEFINED__
+#define __IDiaEnumSourceFiles_INTERFACE_DEFINED__
+
+/* interface IDiaEnumSourceFiles */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaEnumSourceFiles;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("10F3DBD9-664F-4469-B808-9471C7A50538")
+ IDiaEnumSourceFiles : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
+ /* [retval][out] */ IUnknown **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
+ /* [retval][out] */ LONG *pRetVal) = 0;
+
+ virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item(
+ /* [in] */ DWORD index,
+ /* [retval][out] */ IDiaSourceFile **sourceFile) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ /* [in] */ ULONG celt,
+ /* [out] */ IDiaSourceFile **rgelt,
+ /* [out] */ ULONG *pceltFetched) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Skip(
+ /* [in] */ ULONG celt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Clone(
+ /* [out] */ IDiaEnumSourceFiles **ppenum) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaEnumSourceFilesVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaEnumSourceFiles * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaEnumSourceFiles * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaEnumSourceFiles * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
+ IDiaEnumSourceFiles * This,
+ /* [retval][out] */ IUnknown **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
+ IDiaEnumSourceFiles * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )(
+ IDiaEnumSourceFiles * This,
+ /* [in] */ DWORD index,
+ /* [retval][out] */ IDiaSourceFile **sourceFile);
+
+ HRESULT ( STDMETHODCALLTYPE *Next )(
+ IDiaEnumSourceFiles * This,
+ /* [in] */ ULONG celt,
+ /* [out] */ IDiaSourceFile **rgelt,
+ /* [out] */ ULONG *pceltFetched);
+
+ HRESULT ( STDMETHODCALLTYPE *Skip )(
+ IDiaEnumSourceFiles * This,
+ /* [in] */ ULONG celt);
+
+ HRESULT ( STDMETHODCALLTYPE *Reset )(
+ IDiaEnumSourceFiles * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Clone )(
+ IDiaEnumSourceFiles * This,
+ /* [out] */ IDiaEnumSourceFiles **ppenum);
+
+ END_INTERFACE
+ } IDiaEnumSourceFilesVtbl;
+
+ interface IDiaEnumSourceFiles
+ {
+ CONST_VTBL struct IDiaEnumSourceFilesVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaEnumSourceFiles_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaEnumSourceFiles_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaEnumSourceFiles_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaEnumSourceFiles_get__NewEnum(This,pRetVal) \
+ ( (This)->lpVtbl -> get__NewEnum(This,pRetVal) )
+
+#define IDiaEnumSourceFiles_get_Count(This,pRetVal) \
+ ( (This)->lpVtbl -> get_Count(This,pRetVal) )
+
+#define IDiaEnumSourceFiles_Item(This,index,sourceFile) \
+ ( (This)->lpVtbl -> Item(This,index,sourceFile) )
+
+#define IDiaEnumSourceFiles_Next(This,celt,rgelt,pceltFetched) \
+ ( (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched) )
+
+#define IDiaEnumSourceFiles_Skip(This,celt) \
+ ( (This)->lpVtbl -> Skip(This,celt) )
+
+#define IDiaEnumSourceFiles_Reset(This) \
+ ( (This)->lpVtbl -> Reset(This) )
+
+#define IDiaEnumSourceFiles_Clone(This,ppenum) \
+ ( (This)->lpVtbl -> Clone(This,ppenum) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaEnumSourceFiles_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaEnumInputAssemblyFiles_INTERFACE_DEFINED__
+#define __IDiaEnumInputAssemblyFiles_INTERFACE_DEFINED__
+
+/* interface IDiaEnumInputAssemblyFiles */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaEnumInputAssemblyFiles;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("1C7FF653-51F7-457E-8419-B20F57EF7E4D")
+ IDiaEnumInputAssemblyFiles : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
+ /* [retval][out] */ IUnknown **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
+ /* [retval][out] */ LONG *pRetVal) = 0;
+
+ virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item(
+ /* [in] */ DWORD index,
+ /* [retval][out] */ IDiaInputAssemblyFile **file) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ /* [in] */ ULONG celt,
+ /* [out] */ IDiaInputAssemblyFile **rgelt,
+ /* [out] */ ULONG *pceltFetched) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Skip(
+ /* [in] */ ULONG celt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Clone(
+ /* [out] */ IDiaEnumInputAssemblyFiles **ppenum) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaEnumInputAssemblyFilesVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaEnumInputAssemblyFiles * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaEnumInputAssemblyFiles * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaEnumInputAssemblyFiles * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
+ IDiaEnumInputAssemblyFiles * This,
+ /* [retval][out] */ IUnknown **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
+ IDiaEnumInputAssemblyFiles * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )(
+ IDiaEnumInputAssemblyFiles * This,
+ /* [in] */ DWORD index,
+ /* [retval][out] */ IDiaInputAssemblyFile **file);
+
+ HRESULT ( STDMETHODCALLTYPE *Next )(
+ IDiaEnumInputAssemblyFiles * This,
+ /* [in] */ ULONG celt,
+ /* [out] */ IDiaInputAssemblyFile **rgelt,
+ /* [out] */ ULONG *pceltFetched);
+
+ HRESULT ( STDMETHODCALLTYPE *Skip )(
+ IDiaEnumInputAssemblyFiles * This,
+ /* [in] */ ULONG celt);
+
+ HRESULT ( STDMETHODCALLTYPE *Reset )(
+ IDiaEnumInputAssemblyFiles * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Clone )(
+ IDiaEnumInputAssemblyFiles * This,
+ /* [out] */ IDiaEnumInputAssemblyFiles **ppenum);
+
+ END_INTERFACE
+ } IDiaEnumInputAssemblyFilesVtbl;
+
+ interface IDiaEnumInputAssemblyFiles
+ {
+ CONST_VTBL struct IDiaEnumInputAssemblyFilesVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaEnumInputAssemblyFiles_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaEnumInputAssemblyFiles_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaEnumInputAssemblyFiles_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaEnumInputAssemblyFiles_get__NewEnum(This,pRetVal) \
+ ( (This)->lpVtbl -> get__NewEnum(This,pRetVal) )
+
+#define IDiaEnumInputAssemblyFiles_get_Count(This,pRetVal) \
+ ( (This)->lpVtbl -> get_Count(This,pRetVal) )
+
+#define IDiaEnumInputAssemblyFiles_Item(This,index,file) \
+ ( (This)->lpVtbl -> Item(This,index,file) )
+
+#define IDiaEnumInputAssemblyFiles_Next(This,celt,rgelt,pceltFetched) \
+ ( (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched) )
+
+#define IDiaEnumInputAssemblyFiles_Skip(This,celt) \
+ ( (This)->lpVtbl -> Skip(This,celt) )
+
+#define IDiaEnumInputAssemblyFiles_Reset(This) \
+ ( (This)->lpVtbl -> Reset(This) )
+
+#define IDiaEnumInputAssemblyFiles_Clone(This,ppenum) \
+ ( (This)->lpVtbl -> Clone(This,ppenum) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaEnumInputAssemblyFiles_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaEnumLineNumbers_INTERFACE_DEFINED__
+#define __IDiaEnumLineNumbers_INTERFACE_DEFINED__
+
+/* interface IDiaEnumLineNumbers */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaEnumLineNumbers;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("FE30E878-54AC-44f1-81BA-39DE940F6052")
+ IDiaEnumLineNumbers : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
+ /* [retval][out] */ IUnknown **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
+ /* [retval][out] */ LONG *pRetVal) = 0;
+
+ virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item(
+ /* [in] */ DWORD index,
+ /* [retval][out] */ IDiaLineNumber **lineNumber) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ /* [in] */ ULONG celt,
+ /* [out] */ IDiaLineNumber **rgelt,
+ /* [out] */ ULONG *pceltFetched) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Skip(
+ /* [in] */ ULONG celt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Clone(
+ /* [out] */ IDiaEnumLineNumbers **ppenum) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaEnumLineNumbersVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaEnumLineNumbers * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaEnumLineNumbers * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaEnumLineNumbers * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
+ IDiaEnumLineNumbers * This,
+ /* [retval][out] */ IUnknown **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
+ IDiaEnumLineNumbers * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )(
+ IDiaEnumLineNumbers * This,
+ /* [in] */ DWORD index,
+ /* [retval][out] */ IDiaLineNumber **lineNumber);
+
+ HRESULT ( STDMETHODCALLTYPE *Next )(
+ IDiaEnumLineNumbers * This,
+ /* [in] */ ULONG celt,
+ /* [out] */ IDiaLineNumber **rgelt,
+ /* [out] */ ULONG *pceltFetched);
+
+ HRESULT ( STDMETHODCALLTYPE *Skip )(
+ IDiaEnumLineNumbers * This,
+ /* [in] */ ULONG celt);
+
+ HRESULT ( STDMETHODCALLTYPE *Reset )(
+ IDiaEnumLineNumbers * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Clone )(
+ IDiaEnumLineNumbers * This,
+ /* [out] */ IDiaEnumLineNumbers **ppenum);
+
+ END_INTERFACE
+ } IDiaEnumLineNumbersVtbl;
+
+ interface IDiaEnumLineNumbers
+ {
+ CONST_VTBL struct IDiaEnumLineNumbersVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaEnumLineNumbers_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaEnumLineNumbers_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaEnumLineNumbers_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaEnumLineNumbers_get__NewEnum(This,pRetVal) \
+ ( (This)->lpVtbl -> get__NewEnum(This,pRetVal) )
+
+#define IDiaEnumLineNumbers_get_Count(This,pRetVal) \
+ ( (This)->lpVtbl -> get_Count(This,pRetVal) )
+
+#define IDiaEnumLineNumbers_Item(This,index,lineNumber) \
+ ( (This)->lpVtbl -> Item(This,index,lineNumber) )
+
+#define IDiaEnumLineNumbers_Next(This,celt,rgelt,pceltFetched) \
+ ( (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched) )
+
+#define IDiaEnumLineNumbers_Skip(This,celt) \
+ ( (This)->lpVtbl -> Skip(This,celt) )
+
+#define IDiaEnumLineNumbers_Reset(This) \
+ ( (This)->lpVtbl -> Reset(This) )
+
+#define IDiaEnumLineNumbers_Clone(This,ppenum) \
+ ( (This)->lpVtbl -> Clone(This,ppenum) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaEnumLineNumbers_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaEnumInjectedSources_INTERFACE_DEFINED__
+#define __IDiaEnumInjectedSources_INTERFACE_DEFINED__
+
+/* interface IDiaEnumInjectedSources */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaEnumInjectedSources;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("D5612573-6925-4468-8883-98CDEC8C384A")
+ IDiaEnumInjectedSources : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
+ /* [retval][out] */ IUnknown **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
+ /* [retval][out] */ LONG *pRetVal) = 0;
+
+ virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item(
+ /* [in] */ DWORD index,
+ /* [retval][out] */ IDiaInjectedSource **injectedSource) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ /* [in] */ ULONG celt,
+ /* [out] */ IDiaInjectedSource **rgelt,
+ /* [out] */ ULONG *pceltFetched) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Skip(
+ /* [in] */ ULONG celt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Clone(
+ /* [out] */ IDiaEnumInjectedSources **ppenum) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaEnumInjectedSourcesVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaEnumInjectedSources * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaEnumInjectedSources * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaEnumInjectedSources * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
+ IDiaEnumInjectedSources * This,
+ /* [retval][out] */ IUnknown **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
+ IDiaEnumInjectedSources * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )(
+ IDiaEnumInjectedSources * This,
+ /* [in] */ DWORD index,
+ /* [retval][out] */ IDiaInjectedSource **injectedSource);
+
+ HRESULT ( STDMETHODCALLTYPE *Next )(
+ IDiaEnumInjectedSources * This,
+ /* [in] */ ULONG celt,
+ /* [out] */ IDiaInjectedSource **rgelt,
+ /* [out] */ ULONG *pceltFetched);
+
+ HRESULT ( STDMETHODCALLTYPE *Skip )(
+ IDiaEnumInjectedSources * This,
+ /* [in] */ ULONG celt);
+
+ HRESULT ( STDMETHODCALLTYPE *Reset )(
+ IDiaEnumInjectedSources * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Clone )(
+ IDiaEnumInjectedSources * This,
+ /* [out] */ IDiaEnumInjectedSources **ppenum);
+
+ END_INTERFACE
+ } IDiaEnumInjectedSourcesVtbl;
+
+ interface IDiaEnumInjectedSources
+ {
+ CONST_VTBL struct IDiaEnumInjectedSourcesVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaEnumInjectedSources_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaEnumInjectedSources_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaEnumInjectedSources_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaEnumInjectedSources_get__NewEnum(This,pRetVal) \
+ ( (This)->lpVtbl -> get__NewEnum(This,pRetVal) )
+
+#define IDiaEnumInjectedSources_get_Count(This,pRetVal) \
+ ( (This)->lpVtbl -> get_Count(This,pRetVal) )
+
+#define IDiaEnumInjectedSources_Item(This,index,injectedSource) \
+ ( (This)->lpVtbl -> Item(This,index,injectedSource) )
+
+#define IDiaEnumInjectedSources_Next(This,celt,rgelt,pceltFetched) \
+ ( (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched) )
+
+#define IDiaEnumInjectedSources_Skip(This,celt) \
+ ( (This)->lpVtbl -> Skip(This,celt) )
+
+#define IDiaEnumInjectedSources_Reset(This) \
+ ( (This)->lpVtbl -> Reset(This) )
+
+#define IDiaEnumInjectedSources_Clone(This,ppenum) \
+ ( (This)->lpVtbl -> Clone(This,ppenum) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaEnumInjectedSources_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaEnumSegments_INTERFACE_DEFINED__
+#define __IDiaEnumSegments_INTERFACE_DEFINED__
+
+/* interface IDiaEnumSegments */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaEnumSegments;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("E8368CA9-01D1-419d-AC0C-E31235DBDA9F")
+ IDiaEnumSegments : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
+ /* [retval][out] */ IUnknown **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
+ /* [retval][out] */ LONG *pRetVal) = 0;
+
+ virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item(
+ /* [in] */ DWORD index,
+ /* [retval][out] */ IDiaSegment **segment) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ /* [in] */ ULONG celt,
+ /* [out] */ IDiaSegment **rgelt,
+ /* [out] */ ULONG *pceltFetched) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Skip(
+ /* [in] */ ULONG celt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Clone(
+ /* [out] */ IDiaEnumSegments **ppenum) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaEnumSegmentsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaEnumSegments * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaEnumSegments * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaEnumSegments * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
+ IDiaEnumSegments * This,
+ /* [retval][out] */ IUnknown **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
+ IDiaEnumSegments * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )(
+ IDiaEnumSegments * This,
+ /* [in] */ DWORD index,
+ /* [retval][out] */ IDiaSegment **segment);
+
+ HRESULT ( STDMETHODCALLTYPE *Next )(
+ IDiaEnumSegments * This,
+ /* [in] */ ULONG celt,
+ /* [out] */ IDiaSegment **rgelt,
+ /* [out] */ ULONG *pceltFetched);
+
+ HRESULT ( STDMETHODCALLTYPE *Skip )(
+ IDiaEnumSegments * This,
+ /* [in] */ ULONG celt);
+
+ HRESULT ( STDMETHODCALLTYPE *Reset )(
+ IDiaEnumSegments * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Clone )(
+ IDiaEnumSegments * This,
+ /* [out] */ IDiaEnumSegments **ppenum);
+
+ END_INTERFACE
+ } IDiaEnumSegmentsVtbl;
+
+ interface IDiaEnumSegments
+ {
+ CONST_VTBL struct IDiaEnumSegmentsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaEnumSegments_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaEnumSegments_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaEnumSegments_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaEnumSegments_get__NewEnum(This,pRetVal) \
+ ( (This)->lpVtbl -> get__NewEnum(This,pRetVal) )
+
+#define IDiaEnumSegments_get_Count(This,pRetVal) \
+ ( (This)->lpVtbl -> get_Count(This,pRetVal) )
+
+#define IDiaEnumSegments_Item(This,index,segment) \
+ ( (This)->lpVtbl -> Item(This,index,segment) )
+
+#define IDiaEnumSegments_Next(This,celt,rgelt,pceltFetched) \
+ ( (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched) )
+
+#define IDiaEnumSegments_Skip(This,celt) \
+ ( (This)->lpVtbl -> Skip(This,celt) )
+
+#define IDiaEnumSegments_Reset(This) \
+ ( (This)->lpVtbl -> Reset(This) )
+
+#define IDiaEnumSegments_Clone(This,ppenum) \
+ ( (This)->lpVtbl -> Clone(This,ppenum) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaEnumSegments_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaEnumSectionContribs_INTERFACE_DEFINED__
+#define __IDiaEnumSectionContribs_INTERFACE_DEFINED__
+
+/* interface IDiaEnumSectionContribs */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaEnumSectionContribs;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("1994DEB2-2C82-4b1d-A57F-AFF424D54A68")
+ IDiaEnumSectionContribs : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
+ /* [retval][out] */ IUnknown **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
+ /* [retval][out] */ LONG *pRetVal) = 0;
+
+ virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item(
+ /* [in] */ DWORD index,
+ /* [retval][out] */ IDiaSectionContrib **section) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ /* [in] */ ULONG celt,
+ /* [out] */ IDiaSectionContrib **rgelt,
+ /* [out] */ ULONG *pceltFetched) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Skip(
+ /* [in] */ ULONG celt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Clone(
+ /* [out] */ IDiaEnumSectionContribs **ppenum) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaEnumSectionContribsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaEnumSectionContribs * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaEnumSectionContribs * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaEnumSectionContribs * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
+ IDiaEnumSectionContribs * This,
+ /* [retval][out] */ IUnknown **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
+ IDiaEnumSectionContribs * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )(
+ IDiaEnumSectionContribs * This,
+ /* [in] */ DWORD index,
+ /* [retval][out] */ IDiaSectionContrib **section);
+
+ HRESULT ( STDMETHODCALLTYPE *Next )(
+ IDiaEnumSectionContribs * This,
+ /* [in] */ ULONG celt,
+ /* [out] */ IDiaSectionContrib **rgelt,
+ /* [out] */ ULONG *pceltFetched);
+
+ HRESULT ( STDMETHODCALLTYPE *Skip )(
+ IDiaEnumSectionContribs * This,
+ /* [in] */ ULONG celt);
+
+ HRESULT ( STDMETHODCALLTYPE *Reset )(
+ IDiaEnumSectionContribs * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Clone )(
+ IDiaEnumSectionContribs * This,
+ /* [out] */ IDiaEnumSectionContribs **ppenum);
+
+ END_INTERFACE
+ } IDiaEnumSectionContribsVtbl;
+
+ interface IDiaEnumSectionContribs
+ {
+ CONST_VTBL struct IDiaEnumSectionContribsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaEnumSectionContribs_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaEnumSectionContribs_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaEnumSectionContribs_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaEnumSectionContribs_get__NewEnum(This,pRetVal) \
+ ( (This)->lpVtbl -> get__NewEnum(This,pRetVal) )
+
+#define IDiaEnumSectionContribs_get_Count(This,pRetVal) \
+ ( (This)->lpVtbl -> get_Count(This,pRetVal) )
+
+#define IDiaEnumSectionContribs_Item(This,index,section) \
+ ( (This)->lpVtbl -> Item(This,index,section) )
+
+#define IDiaEnumSectionContribs_Next(This,celt,rgelt,pceltFetched) \
+ ( (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched) )
+
+#define IDiaEnumSectionContribs_Skip(This,celt) \
+ ( (This)->lpVtbl -> Skip(This,celt) )
+
+#define IDiaEnumSectionContribs_Reset(This) \
+ ( (This)->lpVtbl -> Reset(This) )
+
+#define IDiaEnumSectionContribs_Clone(This,ppenum) \
+ ( (This)->lpVtbl -> Clone(This,ppenum) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaEnumSectionContribs_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaEnumFrameData_INTERFACE_DEFINED__
+#define __IDiaEnumFrameData_INTERFACE_DEFINED__
+
+/* interface IDiaEnumFrameData */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaEnumFrameData;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("9FC77A4B-3C1C-44ed-A798-6C1DEEA53E1F")
+ IDiaEnumFrameData : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
+ /* [retval][out] */ IUnknown **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
+ /* [retval][out] */ LONG *pRetVal) = 0;
+
+ virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item(
+ /* [in] */ DWORD index,
+ /* [retval][out] */ IDiaFrameData **frame) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ /* [in] */ ULONG celt,
+ /* [out] */ IDiaFrameData **rgelt,
+ /* [out] */ ULONG *pceltFetched) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Skip(
+ /* [in] */ ULONG celt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Clone(
+ /* [out] */ IDiaEnumFrameData **ppenum) = 0;
+
+ virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE frameByRVA(
+ /* [in] */ DWORD relativeVirtualAddress,
+ /* [retval][out] */ IDiaFrameData **frame) = 0;
+
+ virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE frameByVA(
+ /* [in] */ ULONGLONG virtualAddress,
+ /* [retval][out] */ IDiaFrameData **frame) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaEnumFrameDataVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaEnumFrameData * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaEnumFrameData * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaEnumFrameData * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
+ IDiaEnumFrameData * This,
+ /* [retval][out] */ IUnknown **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
+ IDiaEnumFrameData * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )(
+ IDiaEnumFrameData * This,
+ /* [in] */ DWORD index,
+ /* [retval][out] */ IDiaFrameData **frame);
+
+ HRESULT ( STDMETHODCALLTYPE *Next )(
+ IDiaEnumFrameData * This,
+ /* [in] */ ULONG celt,
+ /* [out] */ IDiaFrameData **rgelt,
+ /* [out] */ ULONG *pceltFetched);
+
+ HRESULT ( STDMETHODCALLTYPE *Skip )(
+ IDiaEnumFrameData * This,
+ /* [in] */ ULONG celt);
+
+ HRESULT ( STDMETHODCALLTYPE *Reset )(
+ IDiaEnumFrameData * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Clone )(
+ IDiaEnumFrameData * This,
+ /* [out] */ IDiaEnumFrameData **ppenum);
+
+ /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *frameByRVA )(
+ IDiaEnumFrameData * This,
+ /* [in] */ DWORD relativeVirtualAddress,
+ /* [retval][out] */ IDiaFrameData **frame);
+
+ /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *frameByVA )(
+ IDiaEnumFrameData * This,
+ /* [in] */ ULONGLONG virtualAddress,
+ /* [retval][out] */ IDiaFrameData **frame);
+
+ END_INTERFACE
+ } IDiaEnumFrameDataVtbl;
+
+ interface IDiaEnumFrameData
+ {
+ CONST_VTBL struct IDiaEnumFrameDataVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaEnumFrameData_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaEnumFrameData_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaEnumFrameData_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaEnumFrameData_get__NewEnum(This,pRetVal) \
+ ( (This)->lpVtbl -> get__NewEnum(This,pRetVal) )
+
+#define IDiaEnumFrameData_get_Count(This,pRetVal) \
+ ( (This)->lpVtbl -> get_Count(This,pRetVal) )
+
+#define IDiaEnumFrameData_Item(This,index,frame) \
+ ( (This)->lpVtbl -> Item(This,index,frame) )
+
+#define IDiaEnumFrameData_Next(This,celt,rgelt,pceltFetched) \
+ ( (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched) )
+
+#define IDiaEnumFrameData_Skip(This,celt) \
+ ( (This)->lpVtbl -> Skip(This,celt) )
+
+#define IDiaEnumFrameData_Reset(This) \
+ ( (This)->lpVtbl -> Reset(This) )
+
+#define IDiaEnumFrameData_Clone(This,ppenum) \
+ ( (This)->lpVtbl -> Clone(This,ppenum) )
+
+#define IDiaEnumFrameData_frameByRVA(This,relativeVirtualAddress,frame) \
+ ( (This)->lpVtbl -> frameByRVA(This,relativeVirtualAddress,frame) )
+
+#define IDiaEnumFrameData_frameByVA(This,virtualAddress,frame) \
+ ( (This)->lpVtbl -> frameByVA(This,virtualAddress,frame) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaEnumFrameData_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaEnumDebugStreamData_INTERFACE_DEFINED__
+#define __IDiaEnumDebugStreamData_INTERFACE_DEFINED__
+
+/* interface IDiaEnumDebugStreamData */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaEnumDebugStreamData;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("486943E8-D187-4a6b-A3C4-291259FFF60D")
+ IDiaEnumDebugStreamData : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
+ /* [retval][out] */ IUnknown **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
+ /* [retval][out] */ LONG *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_name(
+ /* [retval][out] */ BSTR *pRetVal) = 0;
+
+ virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item(
+ /* [in] */ DWORD index,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ /* [in] */ ULONG celt,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData,
+ /* [out] */ ULONG *pceltFetched) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Skip(
+ /* [in] */ ULONG celt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Clone(
+ /* [out] */ IDiaEnumDebugStreamData **ppenum) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaEnumDebugStreamDataVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaEnumDebugStreamData * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaEnumDebugStreamData * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaEnumDebugStreamData * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
+ IDiaEnumDebugStreamData * This,
+ /* [retval][out] */ IUnknown **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
+ IDiaEnumDebugStreamData * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )(
+ IDiaEnumDebugStreamData * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )(
+ IDiaEnumDebugStreamData * This,
+ /* [in] */ DWORD index,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData);
+
+ HRESULT ( STDMETHODCALLTYPE *Next )(
+ IDiaEnumDebugStreamData * This,
+ /* [in] */ ULONG celt,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData,
+ /* [out] */ ULONG *pceltFetched);
+
+ HRESULT ( STDMETHODCALLTYPE *Skip )(
+ IDiaEnumDebugStreamData * This,
+ /* [in] */ ULONG celt);
+
+ HRESULT ( STDMETHODCALLTYPE *Reset )(
+ IDiaEnumDebugStreamData * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Clone )(
+ IDiaEnumDebugStreamData * This,
+ /* [out] */ IDiaEnumDebugStreamData **ppenum);
+
+ END_INTERFACE
+ } IDiaEnumDebugStreamDataVtbl;
+
+ interface IDiaEnumDebugStreamData
+ {
+ CONST_VTBL struct IDiaEnumDebugStreamDataVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaEnumDebugStreamData_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaEnumDebugStreamData_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaEnumDebugStreamData_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaEnumDebugStreamData_get__NewEnum(This,pRetVal) \
+ ( (This)->lpVtbl -> get__NewEnum(This,pRetVal) )
+
+#define IDiaEnumDebugStreamData_get_Count(This,pRetVal) \
+ ( (This)->lpVtbl -> get_Count(This,pRetVal) )
+
+#define IDiaEnumDebugStreamData_get_name(This,pRetVal) \
+ ( (This)->lpVtbl -> get_name(This,pRetVal) )
+
+#define IDiaEnumDebugStreamData_Item(This,index,cbData,pcbData,pbData) \
+ ( (This)->lpVtbl -> Item(This,index,cbData,pcbData,pbData) )
+
+#define IDiaEnumDebugStreamData_Next(This,celt,cbData,pcbData,pbData,pceltFetched) \
+ ( (This)->lpVtbl -> Next(This,celt,cbData,pcbData,pbData,pceltFetched) )
+
+#define IDiaEnumDebugStreamData_Skip(This,celt) \
+ ( (This)->lpVtbl -> Skip(This,celt) )
+
+#define IDiaEnumDebugStreamData_Reset(This) \
+ ( (This)->lpVtbl -> Reset(This) )
+
+#define IDiaEnumDebugStreamData_Clone(This,ppenum) \
+ ( (This)->lpVtbl -> Clone(This,ppenum) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaEnumDebugStreamData_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaEnumDebugStreams_INTERFACE_DEFINED__
+#define __IDiaEnumDebugStreams_INTERFACE_DEFINED__
+
+/* interface IDiaEnumDebugStreams */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaEnumDebugStreams;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("08CBB41E-47A6-4f87-92F1-1C9C87CED044")
+ IDiaEnumDebugStreams : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
+ /* [retval][out] */ IUnknown **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
+ /* [retval][out] */ LONG *pRetVal) = 0;
+
+ virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item(
+ /* [in] */ VARIANT index,
+ /* [retval][out] */ IDiaEnumDebugStreamData **stream) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ /* [in] */ ULONG celt,
+ /* [out] */ IDiaEnumDebugStreamData **rgelt,
+ /* [out] */ ULONG *pceltFetched) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Skip(
+ /* [in] */ ULONG celt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Clone(
+ /* [out] */ IDiaEnumDebugStreams **ppenum) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaEnumDebugStreamsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaEnumDebugStreams * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaEnumDebugStreams * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaEnumDebugStreams * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
+ IDiaEnumDebugStreams * This,
+ /* [retval][out] */ IUnknown **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
+ IDiaEnumDebugStreams * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )(
+ IDiaEnumDebugStreams * This,
+ /* [in] */ VARIANT index,
+ /* [retval][out] */ IDiaEnumDebugStreamData **stream);
+
+ HRESULT ( STDMETHODCALLTYPE *Next )(
+ IDiaEnumDebugStreams * This,
+ /* [in] */ ULONG celt,
+ /* [out] */ IDiaEnumDebugStreamData **rgelt,
+ /* [out] */ ULONG *pceltFetched);
+
+ HRESULT ( STDMETHODCALLTYPE *Skip )(
+ IDiaEnumDebugStreams * This,
+ /* [in] */ ULONG celt);
+
+ HRESULT ( STDMETHODCALLTYPE *Reset )(
+ IDiaEnumDebugStreams * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Clone )(
+ IDiaEnumDebugStreams * This,
+ /* [out] */ IDiaEnumDebugStreams **ppenum);
+
+ END_INTERFACE
+ } IDiaEnumDebugStreamsVtbl;
+
+ interface IDiaEnumDebugStreams
+ {
+ CONST_VTBL struct IDiaEnumDebugStreamsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaEnumDebugStreams_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaEnumDebugStreams_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaEnumDebugStreams_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaEnumDebugStreams_get__NewEnum(This,pRetVal) \
+ ( (This)->lpVtbl -> get__NewEnum(This,pRetVal) )
+
+#define IDiaEnumDebugStreams_get_Count(This,pRetVal) \
+ ( (This)->lpVtbl -> get_Count(This,pRetVal) )
+
+#define IDiaEnumDebugStreams_Item(This,index,stream) \
+ ( (This)->lpVtbl -> Item(This,index,stream) )
+
+#define IDiaEnumDebugStreams_Next(This,celt,rgelt,pceltFetched) \
+ ( (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched) )
+
+#define IDiaEnumDebugStreams_Skip(This,celt) \
+ ( (This)->lpVtbl -> Skip(This,celt) )
+
+#define IDiaEnumDebugStreams_Reset(This) \
+ ( (This)->lpVtbl -> Reset(This) )
+
+#define IDiaEnumDebugStreams_Clone(This,ppenum) \
+ ( (This)->lpVtbl -> Clone(This,ppenum) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaEnumDebugStreams_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_dia2_0000_0016 */
+/* [local] */
+
+struct DiaAddressMapEntry
+ {
+ DWORD rva;
+ DWORD rvaTo;
+ } ;
+
+
+extern RPC_IF_HANDLE __MIDL_itf_dia2_0000_0016_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_dia2_0000_0016_v0_0_s_ifspec;
+
+#ifndef __IDiaAddressMap_INTERFACE_DEFINED__
+#define __IDiaAddressMap_INTERFACE_DEFINED__
+
+/* interface IDiaAddressMap */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaAddressMap;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("B62A2E7A-067A-4ea3-B598-04C09717502C")
+ IDiaAddressMap : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressMapEnabled(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_addressMapEnabled(
+ /* [in] */ BOOL NewVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddressEnabled(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_relativeVirtualAddressEnabled(
+ /* [in] */ BOOL NewVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_imageAlign(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_imageAlign(
+ /* [in] */ DWORD NewVal) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE set_imageHeaders(
+ /* [in] */ DWORD cbData,
+ /* [size_is][in] */ BYTE *pbData,
+ /* [in] */ BOOL originalHeaders) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE set_addressMap(
+ /* [in] */ DWORD cData,
+ /* [size_is][in] */ struct DiaAddressMapEntry *pData,
+ /* [in] */ BOOL imageToSymbols) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaAddressMapVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaAddressMap * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaAddressMap * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaAddressMap * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressMapEnabled )(
+ IDiaAddressMap * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_addressMapEnabled )(
+ IDiaAddressMap * This,
+ /* [in] */ BOOL NewVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddressEnabled )(
+ IDiaAddressMap * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_relativeVirtualAddressEnabled )(
+ IDiaAddressMap * This,
+ /* [in] */ BOOL NewVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_imageAlign )(
+ IDiaAddressMap * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_imageAlign )(
+ IDiaAddressMap * This,
+ /* [in] */ DWORD NewVal);
+
+ HRESULT ( STDMETHODCALLTYPE *set_imageHeaders )(
+ IDiaAddressMap * This,
+ /* [in] */ DWORD cbData,
+ /* [size_is][in] */ BYTE *pbData,
+ /* [in] */ BOOL originalHeaders);
+
+ HRESULT ( STDMETHODCALLTYPE *set_addressMap )(
+ IDiaAddressMap * This,
+ /* [in] */ DWORD cData,
+ /* [size_is][in] */ struct DiaAddressMapEntry *pData,
+ /* [in] */ BOOL imageToSymbols);
+
+ END_INTERFACE
+ } IDiaAddressMapVtbl;
+
+ interface IDiaAddressMap
+ {
+ CONST_VTBL struct IDiaAddressMapVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaAddressMap_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaAddressMap_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaAddressMap_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaAddressMap_get_addressMapEnabled(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressMapEnabled(This,pRetVal) )
+
+#define IDiaAddressMap_put_addressMapEnabled(This,NewVal) \
+ ( (This)->lpVtbl -> put_addressMapEnabled(This,NewVal) )
+
+#define IDiaAddressMap_get_relativeVirtualAddressEnabled(This,pRetVal) \
+ ( (This)->lpVtbl -> get_relativeVirtualAddressEnabled(This,pRetVal) )
+
+#define IDiaAddressMap_put_relativeVirtualAddressEnabled(This,NewVal) \
+ ( (This)->lpVtbl -> put_relativeVirtualAddressEnabled(This,NewVal) )
+
+#define IDiaAddressMap_get_imageAlign(This,pRetVal) \
+ ( (This)->lpVtbl -> get_imageAlign(This,pRetVal) )
+
+#define IDiaAddressMap_put_imageAlign(This,NewVal) \
+ ( (This)->lpVtbl -> put_imageAlign(This,NewVal) )
+
+#define IDiaAddressMap_set_imageHeaders(This,cbData,pbData,originalHeaders) \
+ ( (This)->lpVtbl -> set_imageHeaders(This,cbData,pbData,originalHeaders) )
+
+#define IDiaAddressMap_set_addressMap(This,cData,pData,imageToSymbols) \
+ ( (This)->lpVtbl -> set_addressMap(This,cData,pData,imageToSymbols) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaAddressMap_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaSession_INTERFACE_DEFINED__
+#define __IDiaSession_INTERFACE_DEFINED__
+
+/* interface IDiaSession */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaSession;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("2F609EE1-D1C8-4E24-8288-3326BADCD211")
+ IDiaSession : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_loadAddress(
+ /* [retval][out] */ ULONGLONG *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_loadAddress(
+ /* [in] */ ULONGLONG NewVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_globalScope(
+ /* [retval][out] */ IDiaSymbol **pRetVal) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE getEnumTables(
+ /* [out] */ IDiaEnumTables **ppEnumTables) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE getSymbolsByAddr(
+ /* [out] */ IDiaEnumSymbolsByAddr **ppEnumbyAddr) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findChildren(
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [out] */ IDiaEnumSymbols **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findChildrenEx(
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [out] */ IDiaEnumSymbols **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findChildrenExByAddr(
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [out] */ IDiaEnumSymbols **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findChildrenExByVA(
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaEnumSymbols **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findChildrenExByRVA(
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findSymbolByAddr(
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [out] */ IDiaSymbol **ppSymbol) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findSymbolByRVA(
+ /* [in] */ DWORD rva,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [out] */ IDiaSymbol **ppSymbol) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findSymbolByVA(
+ /* [in] */ ULONGLONG va,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [out] */ IDiaSymbol **ppSymbol) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findSymbolByToken(
+ /* [in] */ ULONG token,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [out] */ IDiaSymbol **ppSymbol) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE symsAreEquiv(
+ /* [in] */ IDiaSymbol *symbolA,
+ /* [in] */ IDiaSymbol *symbolB) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE symbolById(
+ /* [in] */ DWORD id,
+ /* [out] */ IDiaSymbol **ppSymbol) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findSymbolByRVAEx(
+ /* [in] */ DWORD rva,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [out] */ IDiaSymbol **ppSymbol,
+ /* [out] */ long *displacement) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findSymbolByVAEx(
+ /* [in] */ ULONGLONG va,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [out] */ IDiaSymbol **ppSymbol,
+ /* [out] */ long *displacement) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findFile(
+ /* [in] */ IDiaSymbol *pCompiland,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [out] */ IDiaEnumSourceFiles **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findFileById(
+ /* [in] */ DWORD uniqueId,
+ /* [out] */ IDiaSourceFile **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findLines(
+ /* [in] */ IDiaSymbol *compiland,
+ /* [in] */ IDiaSourceFile *file,
+ /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findLinesByAddr(
+ /* [in] */ DWORD seg,
+ /* [in] */ DWORD offset,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findLinesByRVA(
+ /* [in] */ DWORD rva,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findLinesByVA(
+ /* [in] */ ULONGLONG va,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findLinesByLinenum(
+ /* [in] */ IDiaSymbol *compiland,
+ /* [in] */ IDiaSourceFile *file,
+ /* [in] */ DWORD linenum,
+ /* [in] */ DWORD column,
+ /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findInjectedSource(
+ /* [in] */ LPCOLESTR srcFile,
+ /* [out] */ IDiaEnumInjectedSources **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE getEnumDebugStreams(
+ /* [out] */ IDiaEnumDebugStreams **ppEnumDebugStreams) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findInlineFramesByAddr(
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [out] */ IDiaEnumSymbols **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findInlineFramesByRVA(
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findInlineFramesByVA(
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaEnumSymbols **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findInlineeLines(
+ /* [in] */ IDiaSymbol *parent,
+ /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findInlineeLinesByAddr(
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findInlineeLinesByRVA(
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ DWORD rva,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findInlineeLinesByVA(
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ ULONGLONG va,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findInlineeLinesByLinenum(
+ /* [in] */ IDiaSymbol *compiland,
+ /* [in] */ IDiaSourceFile *file,
+ /* [in] */ DWORD linenum,
+ /* [in] */ DWORD column,
+ /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findInlineesByName(
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD option,
+ /* [out] */ IDiaEnumSymbols **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findAcceleratorInlineeLinesByLinenum(
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ IDiaSourceFile *file,
+ /* [in] */ DWORD linenum,
+ /* [in] */ DWORD column,
+ /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findSymbolsForAcceleratorPointerTag(
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ DWORD tagValue,
+ /* [out] */ IDiaEnumSymbols **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findSymbolsByRVAForAcceleratorPointerTag(
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ DWORD tagValue,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findAcceleratorInlineesByName(
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD option,
+ /* [out] */ IDiaEnumSymbols **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE addressForVA(
+ /* [in] */ ULONGLONG va,
+ /* [out] */ DWORD *pISect,
+ /* [out] */ DWORD *pOffset) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE addressForRVA(
+ /* [in] */ DWORD rva,
+ /* [out] */ DWORD *pISect,
+ /* [out] */ DWORD *pOffset) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findILOffsetsByAddr(
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findILOffsetsByRVA(
+ /* [in] */ DWORD rva,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findILOffsetsByVA(
+ /* [in] */ ULONGLONG va,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findInputAssemblyFiles(
+ /* [out] */ IDiaEnumInputAssemblyFiles **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findInputAssembly(
+ /* [in] */ DWORD index,
+ /* [out] */ IDiaInputAssemblyFile **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findInputAssemblyById(
+ /* [in] */ DWORD uniqueId,
+ /* [out] */ IDiaInputAssemblyFile **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE getFuncMDTokenMapSize(
+ /* [out] */ DWORD *pcb) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE getFuncMDTokenMap(
+ /* [in] */ DWORD cb,
+ /* [out] */ DWORD *pcb,
+ /* [size_is][out] */ BYTE *pb) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE getTypeMDTokenMapSize(
+ /* [out] */ DWORD *pcb) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE getTypeMDTokenMap(
+ /* [in] */ DWORD cb,
+ /* [out] */ DWORD *pcb,
+ /* [size_is][out] */ BYTE *pb) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE getNumberOfFunctionFragments_VA(
+ /* [in] */ ULONGLONG vaFunc,
+ /* [in] */ DWORD cbFunc,
+ /* [out] */ DWORD *pNumFragments) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE getNumberOfFunctionFragments_RVA(
+ /* [in] */ DWORD rvaFunc,
+ /* [in] */ DWORD cbFunc,
+ /* [out] */ DWORD *pNumFragments) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE getFunctionFragments_VA(
+ /* [in] */ ULONGLONG vaFunc,
+ /* [in] */ DWORD cbFunc,
+ /* [in] */ DWORD cFragments,
+ /* [size_is][out] */ ULONGLONG *pVaFragment,
+ /* [size_is][out] */ DWORD *pLenFragment) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE getFunctionFragments_RVA(
+ /* [in] */ DWORD rvaFunc,
+ /* [in] */ DWORD cbFunc,
+ /* [in] */ DWORD cFragments,
+ /* [size_is][out] */ DWORD *pRvaFragment,
+ /* [size_is][out] */ DWORD *pLenFragment) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE getExports(
+ /* [out] */ IDiaEnumSymbols **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE getHeapAllocationSites(
+ /* [out] */ IDiaEnumSymbols **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findInputAssemblyFile(
+ /* [in] */ IDiaSymbol *pSymbol,
+ /* [out] */ IDiaInputAssemblyFile **ppResult) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaSessionVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaSession * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaSession * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaSession * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_loadAddress )(
+ IDiaSession * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_loadAddress )(
+ IDiaSession * This,
+ /* [in] */ ULONGLONG NewVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_globalScope )(
+ IDiaSession * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *getEnumTables )(
+ IDiaSession * This,
+ /* [out] */ IDiaEnumTables **ppEnumTables);
+
+ HRESULT ( STDMETHODCALLTYPE *getSymbolsByAddr )(
+ IDiaSession * This,
+ /* [out] */ IDiaEnumSymbolsByAddr **ppEnumbyAddr);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildren )(
+ IDiaSession * This,
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenEx )(
+ IDiaSession * This,
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenExByAddr )(
+ IDiaSession * This,
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenExByVA )(
+ IDiaSession * This,
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenExByRVA )(
+ IDiaSession * This,
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findSymbolByAddr )(
+ IDiaSession * This,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [out] */ IDiaSymbol **ppSymbol);
+
+ HRESULT ( STDMETHODCALLTYPE *findSymbolByRVA )(
+ IDiaSession * This,
+ /* [in] */ DWORD rva,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [out] */ IDiaSymbol **ppSymbol);
+
+ HRESULT ( STDMETHODCALLTYPE *findSymbolByVA )(
+ IDiaSession * This,
+ /* [in] */ ULONGLONG va,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [out] */ IDiaSymbol **ppSymbol);
+
+ HRESULT ( STDMETHODCALLTYPE *findSymbolByToken )(
+ IDiaSession * This,
+ /* [in] */ ULONG token,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [out] */ IDiaSymbol **ppSymbol);
+
+ HRESULT ( STDMETHODCALLTYPE *symsAreEquiv )(
+ IDiaSession * This,
+ /* [in] */ IDiaSymbol *symbolA,
+ /* [in] */ IDiaSymbol *symbolB);
+
+ HRESULT ( STDMETHODCALLTYPE *symbolById )(
+ IDiaSession * This,
+ /* [in] */ DWORD id,
+ /* [out] */ IDiaSymbol **ppSymbol);
+
+ HRESULT ( STDMETHODCALLTYPE *findSymbolByRVAEx )(
+ IDiaSession * This,
+ /* [in] */ DWORD rva,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [out] */ IDiaSymbol **ppSymbol,
+ /* [out] */ long *displacement);
+
+ HRESULT ( STDMETHODCALLTYPE *findSymbolByVAEx )(
+ IDiaSession * This,
+ /* [in] */ ULONGLONG va,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [out] */ IDiaSymbol **ppSymbol,
+ /* [out] */ long *displacement);
+
+ HRESULT ( STDMETHODCALLTYPE *findFile )(
+ IDiaSession * This,
+ /* [in] */ IDiaSymbol *pCompiland,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [out] */ IDiaEnumSourceFiles **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findFileById )(
+ IDiaSession * This,
+ /* [in] */ DWORD uniqueId,
+ /* [out] */ IDiaSourceFile **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findLines )(
+ IDiaSession * This,
+ /* [in] */ IDiaSymbol *compiland,
+ /* [in] */ IDiaSourceFile *file,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findLinesByAddr )(
+ IDiaSession * This,
+ /* [in] */ DWORD seg,
+ /* [in] */ DWORD offset,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findLinesByRVA )(
+ IDiaSession * This,
+ /* [in] */ DWORD rva,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findLinesByVA )(
+ IDiaSession * This,
+ /* [in] */ ULONGLONG va,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findLinesByLinenum )(
+ IDiaSession * This,
+ /* [in] */ IDiaSymbol *compiland,
+ /* [in] */ IDiaSourceFile *file,
+ /* [in] */ DWORD linenum,
+ /* [in] */ DWORD column,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInjectedSource )(
+ IDiaSession * This,
+ /* [in] */ LPCOLESTR srcFile,
+ /* [out] */ IDiaEnumInjectedSources **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *getEnumDebugStreams )(
+ IDiaSession * This,
+ /* [out] */ IDiaEnumDebugStreams **ppEnumDebugStreams);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineFramesByAddr )(
+ IDiaSession * This,
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineFramesByRVA )(
+ IDiaSession * This,
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineFramesByVA )(
+ IDiaSession * This,
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLines )(
+ IDiaSession * This,
+ /* [in] */ IDiaSymbol *parent,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByAddr )(
+ IDiaSession * This,
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByRVA )(
+ IDiaSession * This,
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ DWORD rva,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByVA )(
+ IDiaSession * This,
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ ULONGLONG va,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByLinenum )(
+ IDiaSession * This,
+ /* [in] */ IDiaSymbol *compiland,
+ /* [in] */ IDiaSourceFile *file,
+ /* [in] */ DWORD linenum,
+ /* [in] */ DWORD column,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineesByName )(
+ IDiaSession * This,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD option,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findAcceleratorInlineeLinesByLinenum )(
+ IDiaSession * This,
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ IDiaSourceFile *file,
+ /* [in] */ DWORD linenum,
+ /* [in] */ DWORD column,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findSymbolsForAcceleratorPointerTag )(
+ IDiaSession * This,
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ DWORD tagValue,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findSymbolsByRVAForAcceleratorPointerTag )(
+ IDiaSession * This,
+ /* [in] */ IDiaSymbol *parent,
+ /* [in] */ DWORD tagValue,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findAcceleratorInlineesByName )(
+ IDiaSession * This,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD option,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *addressForVA )(
+ IDiaSession * This,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ DWORD *pISect,
+ /* [out] */ DWORD *pOffset);
+
+ HRESULT ( STDMETHODCALLTYPE *addressForRVA )(
+ IDiaSession * This,
+ /* [in] */ DWORD rva,
+ /* [out] */ DWORD *pISect,
+ /* [out] */ DWORD *pOffset);
+
+ HRESULT ( STDMETHODCALLTYPE *findILOffsetsByAddr )(
+ IDiaSession * This,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findILOffsetsByRVA )(
+ IDiaSession * This,
+ /* [in] */ DWORD rva,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findILOffsetsByVA )(
+ IDiaSession * This,
+ /* [in] */ ULONGLONG va,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInputAssemblyFiles )(
+ IDiaSession * This,
+ /* [out] */ IDiaEnumInputAssemblyFiles **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInputAssembly )(
+ IDiaSession * This,
+ /* [in] */ DWORD index,
+ /* [out] */ IDiaInputAssemblyFile **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInputAssemblyById )(
+ IDiaSession * This,
+ /* [in] */ DWORD uniqueId,
+ /* [out] */ IDiaInputAssemblyFile **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *getFuncMDTokenMapSize )(
+ IDiaSession * This,
+ /* [out] */ DWORD *pcb);
+
+ HRESULT ( STDMETHODCALLTYPE *getFuncMDTokenMap )(
+ IDiaSession * This,
+ /* [in] */ DWORD cb,
+ /* [out] */ DWORD *pcb,
+ /* [size_is][out] */ BYTE *pb);
+
+ HRESULT ( STDMETHODCALLTYPE *getTypeMDTokenMapSize )(
+ IDiaSession * This,
+ /* [out] */ DWORD *pcb);
+
+ HRESULT ( STDMETHODCALLTYPE *getTypeMDTokenMap )(
+ IDiaSession * This,
+ /* [in] */ DWORD cb,
+ /* [out] */ DWORD *pcb,
+ /* [size_is][out] */ BYTE *pb);
+
+ HRESULT ( STDMETHODCALLTYPE *getNumberOfFunctionFragments_VA )(
+ IDiaSession * This,
+ /* [in] */ ULONGLONG vaFunc,
+ /* [in] */ DWORD cbFunc,
+ /* [out] */ DWORD *pNumFragments);
+
+ HRESULT ( STDMETHODCALLTYPE *getNumberOfFunctionFragments_RVA )(
+ IDiaSession * This,
+ /* [in] */ DWORD rvaFunc,
+ /* [in] */ DWORD cbFunc,
+ /* [out] */ DWORD *pNumFragments);
+
+ HRESULT ( STDMETHODCALLTYPE *getFunctionFragments_VA )(
+ IDiaSession * This,
+ /* [in] */ ULONGLONG vaFunc,
+ /* [in] */ DWORD cbFunc,
+ /* [in] */ DWORD cFragments,
+ /* [size_is][out] */ ULONGLONG *pVaFragment,
+ /* [size_is][out] */ DWORD *pLenFragment);
+
+ HRESULT ( STDMETHODCALLTYPE *getFunctionFragments_RVA )(
+ IDiaSession * This,
+ /* [in] */ DWORD rvaFunc,
+ /* [in] */ DWORD cbFunc,
+ /* [in] */ DWORD cFragments,
+ /* [size_is][out] */ DWORD *pRvaFragment,
+ /* [size_is][out] */ DWORD *pLenFragment);
+
+ HRESULT ( STDMETHODCALLTYPE *getExports )(
+ IDiaSession * This,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *getHeapAllocationSites )(
+ IDiaSession * This,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInputAssemblyFile )(
+ IDiaSession * This,
+ /* [in] */ IDiaSymbol *pSymbol,
+ /* [out] */ IDiaInputAssemblyFile **ppResult);
+
+ END_INTERFACE
+ } IDiaSessionVtbl;
+
+ interface IDiaSession
+ {
+ CONST_VTBL struct IDiaSessionVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaSession_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaSession_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaSession_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaSession_get_loadAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_loadAddress(This,pRetVal) )
+
+#define IDiaSession_put_loadAddress(This,NewVal) \
+ ( (This)->lpVtbl -> put_loadAddress(This,NewVal) )
+
+#define IDiaSession_get_globalScope(This,pRetVal) \
+ ( (This)->lpVtbl -> get_globalScope(This,pRetVal) )
+
+#define IDiaSession_getEnumTables(This,ppEnumTables) \
+ ( (This)->lpVtbl -> getEnumTables(This,ppEnumTables) )
+
+#define IDiaSession_getSymbolsByAddr(This,ppEnumbyAddr) \
+ ( (This)->lpVtbl -> getSymbolsByAddr(This,ppEnumbyAddr) )
+
+#define IDiaSession_findChildren(This,parent,symtag,name,compareFlags,ppResult) \
+ ( (This)->lpVtbl -> findChildren(This,parent,symtag,name,compareFlags,ppResult) )
+
+#define IDiaSession_findChildrenEx(This,parent,symtag,name,compareFlags,ppResult) \
+ ( (This)->lpVtbl -> findChildrenEx(This,parent,symtag,name,compareFlags,ppResult) )
+
+#define IDiaSession_findChildrenExByAddr(This,parent,symtag,name,compareFlags,isect,offset,ppResult) \
+ ( (This)->lpVtbl -> findChildrenExByAddr(This,parent,symtag,name,compareFlags,isect,offset,ppResult) )
+
+#define IDiaSession_findChildrenExByVA(This,parent,symtag,name,compareFlags,va,ppResult) \
+ ( (This)->lpVtbl -> findChildrenExByVA(This,parent,symtag,name,compareFlags,va,ppResult) )
+
+#define IDiaSession_findChildrenExByRVA(This,parent,symtag,name,compareFlags,rva,ppResult) \
+ ( (This)->lpVtbl -> findChildrenExByRVA(This,parent,symtag,name,compareFlags,rva,ppResult) )
+
+#define IDiaSession_findSymbolByAddr(This,isect,offset,symtag,ppSymbol) \
+ ( (This)->lpVtbl -> findSymbolByAddr(This,isect,offset,symtag,ppSymbol) )
+
+#define IDiaSession_findSymbolByRVA(This,rva,symtag,ppSymbol) \
+ ( (This)->lpVtbl -> findSymbolByRVA(This,rva,symtag,ppSymbol) )
+
+#define IDiaSession_findSymbolByVA(This,va,symtag,ppSymbol) \
+ ( (This)->lpVtbl -> findSymbolByVA(This,va,symtag,ppSymbol) )
+
+#define IDiaSession_findSymbolByToken(This,token,symtag,ppSymbol) \
+ ( (This)->lpVtbl -> findSymbolByToken(This,token,symtag,ppSymbol) )
+
+#define IDiaSession_symsAreEquiv(This,symbolA,symbolB) \
+ ( (This)->lpVtbl -> symsAreEquiv(This,symbolA,symbolB) )
+
+#define IDiaSession_symbolById(This,id,ppSymbol) \
+ ( (This)->lpVtbl -> symbolById(This,id,ppSymbol) )
+
+#define IDiaSession_findSymbolByRVAEx(This,rva,symtag,ppSymbol,displacement) \
+ ( (This)->lpVtbl -> findSymbolByRVAEx(This,rva,symtag,ppSymbol,displacement) )
+
+#define IDiaSession_findSymbolByVAEx(This,va,symtag,ppSymbol,displacement) \
+ ( (This)->lpVtbl -> findSymbolByVAEx(This,va,symtag,ppSymbol,displacement) )
+
+#define IDiaSession_findFile(This,pCompiland,name,compareFlags,ppResult) \
+ ( (This)->lpVtbl -> findFile(This,pCompiland,name,compareFlags,ppResult) )
+
+#define IDiaSession_findFileById(This,uniqueId,ppResult) \
+ ( (This)->lpVtbl -> findFileById(This,uniqueId,ppResult) )
+
+#define IDiaSession_findLines(This,compiland,file,ppResult) \
+ ( (This)->lpVtbl -> findLines(This,compiland,file,ppResult) )
+
+#define IDiaSession_findLinesByAddr(This,seg,offset,length,ppResult) \
+ ( (This)->lpVtbl -> findLinesByAddr(This,seg,offset,length,ppResult) )
+
+#define IDiaSession_findLinesByRVA(This,rva,length,ppResult) \
+ ( (This)->lpVtbl -> findLinesByRVA(This,rva,length,ppResult) )
+
+#define IDiaSession_findLinesByVA(This,va,length,ppResult) \
+ ( (This)->lpVtbl -> findLinesByVA(This,va,length,ppResult) )
+
+#define IDiaSession_findLinesByLinenum(This,compiland,file,linenum,column,ppResult) \
+ ( (This)->lpVtbl -> findLinesByLinenum(This,compiland,file,linenum,column,ppResult) )
+
+#define IDiaSession_findInjectedSource(This,srcFile,ppResult) \
+ ( (This)->lpVtbl -> findInjectedSource(This,srcFile,ppResult) )
+
+#define IDiaSession_getEnumDebugStreams(This,ppEnumDebugStreams) \
+ ( (This)->lpVtbl -> getEnumDebugStreams(This,ppEnumDebugStreams) )
+
+#define IDiaSession_findInlineFramesByAddr(This,parent,isect,offset,ppResult) \
+ ( (This)->lpVtbl -> findInlineFramesByAddr(This,parent,isect,offset,ppResult) )
+
+#define IDiaSession_findInlineFramesByRVA(This,parent,rva,ppResult) \
+ ( (This)->lpVtbl -> findInlineFramesByRVA(This,parent,rva,ppResult) )
+
+#define IDiaSession_findInlineFramesByVA(This,parent,va,ppResult) \
+ ( (This)->lpVtbl -> findInlineFramesByVA(This,parent,va,ppResult) )
+
+#define IDiaSession_findInlineeLines(This,parent,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLines(This,parent,ppResult) )
+
+#define IDiaSession_findInlineeLinesByAddr(This,parent,isect,offset,length,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByAddr(This,parent,isect,offset,length,ppResult) )
+
+#define IDiaSession_findInlineeLinesByRVA(This,parent,rva,length,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByRVA(This,parent,rva,length,ppResult) )
+
+#define IDiaSession_findInlineeLinesByVA(This,parent,va,length,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByVA(This,parent,va,length,ppResult) )
+
+#define IDiaSession_findInlineeLinesByLinenum(This,compiland,file,linenum,column,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByLinenum(This,compiland,file,linenum,column,ppResult) )
+
+#define IDiaSession_findInlineesByName(This,name,option,ppResult) \
+ ( (This)->lpVtbl -> findInlineesByName(This,name,option,ppResult) )
+
+#define IDiaSession_findAcceleratorInlineeLinesByLinenum(This,parent,file,linenum,column,ppResult) \
+ ( (This)->lpVtbl -> findAcceleratorInlineeLinesByLinenum(This,parent,file,linenum,column,ppResult) )
+
+#define IDiaSession_findSymbolsForAcceleratorPointerTag(This,parent,tagValue,ppResult) \
+ ( (This)->lpVtbl -> findSymbolsForAcceleratorPointerTag(This,parent,tagValue,ppResult) )
+
+#define IDiaSession_findSymbolsByRVAForAcceleratorPointerTag(This,parent,tagValue,rva,ppResult) \
+ ( (This)->lpVtbl -> findSymbolsByRVAForAcceleratorPointerTag(This,parent,tagValue,rva,ppResult) )
+
+#define IDiaSession_findAcceleratorInlineesByName(This,name,option,ppResult) \
+ ( (This)->lpVtbl -> findAcceleratorInlineesByName(This,name,option,ppResult) )
+
+#define IDiaSession_addressForVA(This,va,pISect,pOffset) \
+ ( (This)->lpVtbl -> addressForVA(This,va,pISect,pOffset) )
+
+#define IDiaSession_addressForRVA(This,rva,pISect,pOffset) \
+ ( (This)->lpVtbl -> addressForRVA(This,rva,pISect,pOffset) )
+
+#define IDiaSession_findILOffsetsByAddr(This,isect,offset,length,ppResult) \
+ ( (This)->lpVtbl -> findILOffsetsByAddr(This,isect,offset,length,ppResult) )
+
+#define IDiaSession_findILOffsetsByRVA(This,rva,length,ppResult) \
+ ( (This)->lpVtbl -> findILOffsetsByRVA(This,rva,length,ppResult) )
+
+#define IDiaSession_findILOffsetsByVA(This,va,length,ppResult) \
+ ( (This)->lpVtbl -> findILOffsetsByVA(This,va,length,ppResult) )
+
+#define IDiaSession_findInputAssemblyFiles(This,ppResult) \
+ ( (This)->lpVtbl -> findInputAssemblyFiles(This,ppResult) )
+
+#define IDiaSession_findInputAssembly(This,index,ppResult) \
+ ( (This)->lpVtbl -> findInputAssembly(This,index,ppResult) )
+
+#define IDiaSession_findInputAssemblyById(This,uniqueId,ppResult) \
+ ( (This)->lpVtbl -> findInputAssemblyById(This,uniqueId,ppResult) )
+
+#define IDiaSession_getFuncMDTokenMapSize(This,pcb) \
+ ( (This)->lpVtbl -> getFuncMDTokenMapSize(This,pcb) )
+
+#define IDiaSession_getFuncMDTokenMap(This,cb,pcb,pb) \
+ ( (This)->lpVtbl -> getFuncMDTokenMap(This,cb,pcb,pb) )
+
+#define IDiaSession_getTypeMDTokenMapSize(This,pcb) \
+ ( (This)->lpVtbl -> getTypeMDTokenMapSize(This,pcb) )
+
+#define IDiaSession_getTypeMDTokenMap(This,cb,pcb,pb) \
+ ( (This)->lpVtbl -> getTypeMDTokenMap(This,cb,pcb,pb) )
+
+#define IDiaSession_getNumberOfFunctionFragments_VA(This,vaFunc,cbFunc,pNumFragments) \
+ ( (This)->lpVtbl -> getNumberOfFunctionFragments_VA(This,vaFunc,cbFunc,pNumFragments) )
+
+#define IDiaSession_getNumberOfFunctionFragments_RVA(This,rvaFunc,cbFunc,pNumFragments) \
+ ( (This)->lpVtbl -> getNumberOfFunctionFragments_RVA(This,rvaFunc,cbFunc,pNumFragments) )
+
+#define IDiaSession_getFunctionFragments_VA(This,vaFunc,cbFunc,cFragments,pVaFragment,pLenFragment) \
+ ( (This)->lpVtbl -> getFunctionFragments_VA(This,vaFunc,cbFunc,cFragments,pVaFragment,pLenFragment) )
+
+#define IDiaSession_getFunctionFragments_RVA(This,rvaFunc,cbFunc,cFragments,pRvaFragment,pLenFragment) \
+ ( (This)->lpVtbl -> getFunctionFragments_RVA(This,rvaFunc,cbFunc,cFragments,pRvaFragment,pLenFragment) )
+
+#define IDiaSession_getExports(This,ppResult) \
+ ( (This)->lpVtbl -> getExports(This,ppResult) )
+
+#define IDiaSession_getHeapAllocationSites(This,ppResult) \
+ ( (This)->lpVtbl -> getHeapAllocationSites(This,ppResult) )
+
+#define IDiaSession_findInputAssemblyFile(This,pSymbol,ppResult) \
+ ( (This)->lpVtbl -> findInputAssemblyFile(This,pSymbol,ppResult) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaSession_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaSymbol_INTERFACE_DEFINED__
+#define __IDiaSymbol_INTERFACE_DEFINED__
+
+/* interface IDiaSymbol */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaSymbol;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("cb787b2f-bd6c-4635-ba52-933126bd2dcd")
+ IDiaSymbol : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_symIndexId(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_symTag(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_name(
+ /* [retval][out] */ BSTR *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lexicalParent(
+ /* [retval][out] */ IDiaSymbol **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_classParent(
+ /* [retval][out] */ IDiaSymbol **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_type(
+ /* [retval][out] */ IDiaSymbol **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_dataKind(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_locationType(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressSection(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressOffset(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress(
+ /* [retval][out] */ ULONGLONG *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_registerId(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_offset(
+ /* [retval][out] */ LONG *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_length(
+ /* [retval][out] */ ULONGLONG *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_slot(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_volatileType(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_constType(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_unalignedType(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_access(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_libraryName(
+ /* [retval][out] */ BSTR *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_platform(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_language(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_editAndContinueEnabled(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_frontEndMajor(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_frontEndMinor(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_frontEndBuild(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_backEndMajor(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_backEndMinor(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_backEndBuild(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_sourceFileName(
+ /* [retval][out] */ BSTR *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_unused(
+ /* [retval][out] */ BSTR *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_thunkOrdinal(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_thisAdjust(
+ /* [retval][out] */ LONG *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualBaseOffset(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtual(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_intro(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_pure(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_callingConvention(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_value(
+ /* [retval][out] */ VARIANT *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_baseType(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_token(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_timeStamp(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_guid(
+ /* [retval][out] */ GUID *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_symbolsFileName(
+ /* [retval][out] */ BSTR *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_reference(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_count(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_bitPosition(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_arrayIndexType(
+ /* [retval][out] */ IDiaSymbol **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_packed(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_constructor(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_overloadedOperator(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_nested(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasNestedTypes(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasAssignmentOperator(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasCastOperator(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_scoped(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualBaseClass(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_indirectVirtualBaseClass(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualBasePointerOffset(
+ /* [retval][out] */ LONG *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualTableShape(
+ /* [retval][out] */ IDiaSymbol **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lexicalParentId(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_classParentId(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_typeId(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_arrayIndexTypeId(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualTableShapeId(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_code(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_function(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_managed(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_msil(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualBaseDispIndex(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_undecoratedName(
+ /* [retval][out] */ BSTR *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_age(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_signature(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compilerGenerated(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressTaken(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_rank(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lowerBound(
+ /* [retval][out] */ IDiaSymbol **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_upperBound(
+ /* [retval][out] */ IDiaSymbol **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lowerBoundId(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_upperBoundId(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_dataBytes(
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findChildren(
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [out] */ IDiaEnumSymbols **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findChildrenEx(
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [out] */ IDiaEnumSymbols **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findChildrenExByAddr(
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [out] */ IDiaEnumSymbols **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findChildrenExByVA(
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaEnumSymbols **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findChildrenExByRVA(
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_targetSection(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_targetOffset(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_targetRelativeVirtualAddress(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_targetVirtualAddress(
+ /* [retval][out] */ ULONGLONG *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_machineType(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_oemId(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_oemSymbolId(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_types(
+ /* [in] */ DWORD cTypes,
+ /* [out] */ DWORD *pcTypes,
+ /* [size_is][size_is][out] */ IDiaSymbol **pTypes) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_typeIds(
+ /* [in] */ DWORD cTypeIds,
+ /* [out] */ DWORD *pcTypeIds,
+ /* [size_is][out] */ DWORD *pdwTypeIds) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_objectPointerType(
+ /* [retval][out] */ IDiaSymbol **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_udtKind(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_undecoratedNameEx(
+ /* [in] */ DWORD undecorateOptions,
+ /* [out] */ BSTR *name) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_noReturn(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_customCallingConvention(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_noInline(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_optimizedCodeDebugInfo(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_notReached(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_interruptReturn(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_farReturn(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isStatic(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasDebugInfo(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isLTCG(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isDataAligned(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasSecurityChecks(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compilerName(
+ /* [retval][out] */ BSTR *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasAlloca(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasSetJump(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasLongJump(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasInlAsm(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasEH(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasSEH(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasEHa(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isNaked(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isAggregated(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isSplitted(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_container(
+ /* [retval][out] */ IDiaSymbol **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_inlSpec(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_noStackOrdering(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualBaseTableType(
+ /* [retval][out] */ IDiaSymbol **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasManagedCode(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isHotpatchable(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isCVTCIL(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isMSILNetmodule(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isCTypes(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isStripped(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_frontEndQFE(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_backEndQFE(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_wasInlined(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_strictGSCheck(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isCxxReturnUdt(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isConstructorVirtualBase(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RValueReference(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_unmodifiedType(
+ /* [retval][out] */ IDiaSymbol **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_framePointerPresent(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isSafeBuffers(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_intrinsic(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_sealed(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hfaFloat(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hfaDouble(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_liveRangeStartAddressSection(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_liveRangeStartAddressOffset(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_liveRangeStartRelativeVirtualAddress(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_countLiveRanges(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_liveRangeLength(
+ /* [retval][out] */ ULONGLONG *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_offsetInUdt(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_paramBasePointerRegisterId(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_localBasePointerRegisterId(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isLocationControlFlowDependent(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_stride(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_numberOfRows(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_numberOfColumns(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isMatrixRowMajor(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_numericProperties(
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ DWORD *pProperties) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_modifierValues(
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ WORD *pModifiers) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isReturnValue(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isOptimizedAway(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_builtInKind(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_registerType(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_baseDataSlot(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_baseDataOffset(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_textureSlot(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_samplerSlot(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_uavSlot(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_sizeInUdt(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_memorySpaceKind(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_unmodifiedTypeId(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_subTypeId(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_subType(
+ /* [retval][out] */ IDiaSymbol **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_numberOfModifiers(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_numberOfRegisterIndices(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isHLSLData(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isPointerToDataMember(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isPointerToMemberFunction(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isSingleInheritance(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isMultipleInheritance(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isVirtualInheritance(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_restrictedType(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isPointerBasedOnSymbolValue(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_baseSymbol(
+ /* [retval][out] */ IDiaSymbol **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_baseSymbolId(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_objectFileName(
+ /* [retval][out] */ BSTR *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isAcceleratorGroupSharedLocal(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isAcceleratorPointerTagLiveRange(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isAcceleratorStubFunction(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_numberOfAcceleratorPointerTags(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isSdl(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isWinRTPointer(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isRefUdt(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isValueUdt(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isInterfaceUdt(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findInlineFramesByAddr(
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [out] */ IDiaEnumSymbols **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findInlineFramesByRVA(
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findInlineFramesByVA(
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaEnumSymbols **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findInlineeLines(
+ /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findInlineeLinesByAddr(
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findInlineeLinesByRVA(
+ /* [in] */ DWORD rva,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findInlineeLinesByVA(
+ /* [in] */ ULONGLONG va,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findSymbolsForAcceleratorPointerTag(
+ /* [in] */ DWORD tagValue,
+ /* [out] */ IDiaEnumSymbols **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findSymbolsByRVAForAcceleratorPointerTag(
+ /* [in] */ DWORD tagValue,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_acceleratorPointerTags(
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ DWORD *pPointerTags) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE getSrcLineOnTypeDefn(
+ /* [out] */ IDiaLineNumber **ppResult) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isPGO(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasValidPGOCounts(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isOptimizedForSpeed(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PGOEntryCount(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PGOEdgeCount(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PGODynamicInstructionCount(
+ /* [retval][out] */ ULONGLONG *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_staticSize(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_finalLiveStaticSize(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_phaseName(
+ /* [retval][out] */ BSTR *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasControlFlowCheck(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_constantExport(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_dataExport(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_privateExport(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_noNameExport(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_exportHasExplicitlyAssignedOrdinal(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_exportIsForwarder(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ordinal(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_frameSize(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_exceptionHandlerAddressSection(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_exceptionHandlerAddressOffset(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_exceptionHandlerRelativeVirtualAddress(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_exceptionHandlerVirtualAddress(
+ /* [retval][out] */ ULONGLONG *pRetVal) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE findInputAssemblyFile(
+ /* [out] */ IDiaInputAssemblyFile **ppResult) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_characteristics(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_coffGroup(
+ /* [retval][out] */ IDiaSymbol **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_bindID(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_bindSpace(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_bindSlot(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaSymbolVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaSymbol * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaSymbol * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaSymbol * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symIndexId )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symTag )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lexicalParent )(
+ IDiaSymbol * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_classParent )(
+ IDiaSymbol * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )(
+ IDiaSymbol * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataKind )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_locationType )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressOffset )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )(
+ IDiaSymbol * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerId )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offset )(
+ IDiaSymbol * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )(
+ IDiaSymbol * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_slot )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_volatileType )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constType )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unalignedType )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_access )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_libraryName )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_platform )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_language )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_editAndContinueEnabled )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndMajor )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndMinor )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndBuild )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndMajor )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndMinor )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndBuild )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sourceFileName )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unused )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_thunkOrdinal )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_thisAdjust )(
+ IDiaSymbol * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseOffset )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtual )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_intro )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pure )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_callingConvention )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )(
+ IDiaSymbol * This,
+ /* [retval][out] */ VARIANT *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseType )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_token )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_timeStamp )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_guid )(
+ IDiaSymbol * This,
+ /* [retval][out] */ GUID *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symbolsFileName )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_reference )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_count )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bitPosition )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_arrayIndexType )(
+ IDiaSymbol * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_packed )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constructor )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_overloadedOperator )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nested )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasNestedTypes )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasAssignmentOperator )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasCastOperator )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scoped )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseClass )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_indirectVirtualBaseClass )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBasePointerOffset )(
+ IDiaSymbol * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualTableShape )(
+ IDiaSymbol * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lexicalParentId )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_classParentId )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_typeId )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_arrayIndexTypeId )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualTableShapeId )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_code )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_function )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_managed )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msil )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseDispIndex )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_undecoratedName )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_age )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_signature )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilerGenerated )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressTaken )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rank )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowerBound )(
+ IDiaSymbol * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_upperBound )(
+ IDiaSymbol * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowerBoundId )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_upperBoundId )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_dataBytes )(
+ IDiaSymbol * This,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildren )(
+ IDiaSymbol * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenEx )(
+ IDiaSymbol * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenExByAddr )(
+ IDiaSymbol * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenExByVA )(
+ IDiaSymbol * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenExByRVA )(
+ IDiaSymbol * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetSection )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetOffset )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetRelativeVirtualAddress )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVirtualAddress )(
+ IDiaSymbol * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_machineType )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oemId )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oemSymbolId )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_types )(
+ IDiaSymbol * This,
+ /* [in] */ DWORD cTypes,
+ /* [out] */ DWORD *pcTypes,
+ /* [size_is][size_is][out] */ IDiaSymbol **pTypes);
+
+ HRESULT ( STDMETHODCALLTYPE *get_typeIds )(
+ IDiaSymbol * This,
+ /* [in] */ DWORD cTypeIds,
+ /* [out] */ DWORD *pcTypeIds,
+ /* [size_is][out] */ DWORD *pdwTypeIds);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_objectPointerType )(
+ IDiaSymbol * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_udtKind )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_undecoratedNameEx )(
+ IDiaSymbol * This,
+ /* [in] */ DWORD undecorateOptions,
+ /* [out] */ BSTR *name);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noReturn )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_customCallingConvention )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noInline )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_optimizedCodeDebugInfo )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_notReached )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_interruptReturn )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_farReturn )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isStatic )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasDebugInfo )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isLTCG )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isDataAligned )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasSecurityChecks )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilerName )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasAlloca )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasSetJump )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasLongJump )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasInlAsm )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasEH )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasSEH )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasEHa )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isNaked )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAggregated )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSplitted )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_container )(
+ IDiaSymbol * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_inlSpec )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noStackOrdering )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseTableType )(
+ IDiaSymbol * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasManagedCode )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isHotpatchable )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCVTCIL )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMSILNetmodule )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCTypes )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isStripped )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndQFE )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndQFE )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_wasInlined )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_strictGSCheck )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCxxReturnUdt )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isConstructorVirtualBase )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RValueReference )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unmodifiedType )(
+ IDiaSymbol * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_framePointerPresent )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSafeBuffers )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_intrinsic )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sealed )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hfaFloat )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hfaDouble )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeStartAddressSection )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeStartAddressOffset )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeStartRelativeVirtualAddress )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_countLiveRanges )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeLength )(
+ IDiaSymbol * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetInUdt )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_paramBasePointerRegisterId )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_localBasePointerRegisterId )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isLocationControlFlowDependent )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_stride )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfRows )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfColumns )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMatrixRowMajor )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_numericProperties )(
+ IDiaSymbol * This,
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ DWORD *pProperties);
+
+ HRESULT ( STDMETHODCALLTYPE *get_modifierValues )(
+ IDiaSymbol * This,
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ WORD *pModifiers);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isReturnValue )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isOptimizedAway )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_builtInKind )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerType )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseDataSlot )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseDataOffset )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textureSlot )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_samplerSlot )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_uavSlot )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sizeInUdt )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_memorySpaceKind )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unmodifiedTypeId )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_subTypeId )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_subType )(
+ IDiaSymbol * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfModifiers )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfRegisterIndices )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isHLSLData )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPointerToDataMember )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPointerToMemberFunction )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSingleInheritance )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMultipleInheritance )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isVirtualInheritance )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_restrictedType )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPointerBasedOnSymbolValue )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseSymbol )(
+ IDiaSymbol * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseSymbolId )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_objectFileName )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAcceleratorGroupSharedLocal )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAcceleratorPointerTagLiveRange )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAcceleratorStubFunction )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfAcceleratorPointerTags )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSdl )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isWinRTPointer )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRefUdt )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isValueUdt )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isInterfaceUdt )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineFramesByAddr )(
+ IDiaSymbol * This,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineFramesByRVA )(
+ IDiaSymbol * This,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineFramesByVA )(
+ IDiaSymbol * This,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLines )(
+ IDiaSymbol * This,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByAddr )(
+ IDiaSymbol * This,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByRVA )(
+ IDiaSymbol * This,
+ /* [in] */ DWORD rva,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByVA )(
+ IDiaSymbol * This,
+ /* [in] */ ULONGLONG va,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findSymbolsForAcceleratorPointerTag )(
+ IDiaSymbol * This,
+ /* [in] */ DWORD tagValue,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findSymbolsByRVAForAcceleratorPointerTag )(
+ IDiaSymbol * This,
+ /* [in] */ DWORD tagValue,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *get_acceleratorPointerTags )(
+ IDiaSymbol * This,
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ DWORD *pPointerTags);
+
+ HRESULT ( STDMETHODCALLTYPE *getSrcLineOnTypeDefn )(
+ IDiaSymbol * This,
+ /* [out] */ IDiaLineNumber **ppResult);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPGO )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasValidPGOCounts )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isOptimizedForSpeed )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PGOEntryCount )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PGOEdgeCount )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PGODynamicInstructionCount )(
+ IDiaSymbol * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_staticSize )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_finalLiveStaticSize )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_phaseName )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasControlFlowCheck )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constantExport )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataExport )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_privateExport )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noNameExport )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exportHasExplicitlyAssignedOrdinal )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exportIsForwarder )(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ordinal )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frameSize )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerAddressSection )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerAddressOffset )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerRelativeVirtualAddress )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerVirtualAddress )(
+ IDiaSymbol * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *findInputAssemblyFile )(
+ IDiaSymbol * This,
+ /* [out] */ IDiaInputAssemblyFile **ppResult);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_characteristics )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_coffGroup )(
+ IDiaSymbol * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bindID )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bindSpace )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bindSlot )(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ END_INTERFACE
+ } IDiaSymbolVtbl;
+
+ interface IDiaSymbol
+ {
+ CONST_VTBL struct IDiaSymbolVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaSymbol_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaSymbol_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaSymbol_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaSymbol_get_symIndexId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_symIndexId(This,pRetVal) )
+
+#define IDiaSymbol_get_symTag(This,pRetVal) \
+ ( (This)->lpVtbl -> get_symTag(This,pRetVal) )
+
+#define IDiaSymbol_get_name(This,pRetVal) \
+ ( (This)->lpVtbl -> get_name(This,pRetVal) )
+
+#define IDiaSymbol_get_lexicalParent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lexicalParent(This,pRetVal) )
+
+#define IDiaSymbol_get_classParent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_classParent(This,pRetVal) )
+
+#define IDiaSymbol_get_type(This,pRetVal) \
+ ( (This)->lpVtbl -> get_type(This,pRetVal) )
+
+#define IDiaSymbol_get_dataKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_dataKind(This,pRetVal) )
+
+#define IDiaSymbol_get_locationType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_locationType(This,pRetVal) )
+
+#define IDiaSymbol_get_addressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressSection(This,pRetVal) )
+
+#define IDiaSymbol_get_addressOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressOffset(This,pRetVal) )
+
+#define IDiaSymbol_get_relativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol_get_virtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualAddress(This,pRetVal) )
+
+#define IDiaSymbol_get_registerId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_registerId(This,pRetVal) )
+
+#define IDiaSymbol_get_offset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_offset(This,pRetVal) )
+
+#define IDiaSymbol_get_length(This,pRetVal) \
+ ( (This)->lpVtbl -> get_length(This,pRetVal) )
+
+#define IDiaSymbol_get_slot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_slot(This,pRetVal) )
+
+#define IDiaSymbol_get_volatileType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_volatileType(This,pRetVal) )
+
+#define IDiaSymbol_get_constType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_constType(This,pRetVal) )
+
+#define IDiaSymbol_get_unalignedType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unalignedType(This,pRetVal) )
+
+#define IDiaSymbol_get_access(This,pRetVal) \
+ ( (This)->lpVtbl -> get_access(This,pRetVal) )
+
+#define IDiaSymbol_get_libraryName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_libraryName(This,pRetVal) )
+
+#define IDiaSymbol_get_platform(This,pRetVal) \
+ ( (This)->lpVtbl -> get_platform(This,pRetVal) )
+
+#define IDiaSymbol_get_language(This,pRetVal) \
+ ( (This)->lpVtbl -> get_language(This,pRetVal) )
+
+#define IDiaSymbol_get_editAndContinueEnabled(This,pRetVal) \
+ ( (This)->lpVtbl -> get_editAndContinueEnabled(This,pRetVal) )
+
+#define IDiaSymbol_get_frontEndMajor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndMajor(This,pRetVal) )
+
+#define IDiaSymbol_get_frontEndMinor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndMinor(This,pRetVal) )
+
+#define IDiaSymbol_get_frontEndBuild(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndBuild(This,pRetVal) )
+
+#define IDiaSymbol_get_backEndMajor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndMajor(This,pRetVal) )
+
+#define IDiaSymbol_get_backEndMinor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndMinor(This,pRetVal) )
+
+#define IDiaSymbol_get_backEndBuild(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndBuild(This,pRetVal) )
+
+#define IDiaSymbol_get_sourceFileName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_sourceFileName(This,pRetVal) )
+
+#define IDiaSymbol_get_unused(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unused(This,pRetVal) )
+
+#define IDiaSymbol_get_thunkOrdinal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_thunkOrdinal(This,pRetVal) )
+
+#define IDiaSymbol_get_thisAdjust(This,pRetVal) \
+ ( (This)->lpVtbl -> get_thisAdjust(This,pRetVal) )
+
+#define IDiaSymbol_get_virtualBaseOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseOffset(This,pRetVal) )
+
+#define IDiaSymbol_get_virtual(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtual(This,pRetVal) )
+
+#define IDiaSymbol_get_intro(This,pRetVal) \
+ ( (This)->lpVtbl -> get_intro(This,pRetVal) )
+
+#define IDiaSymbol_get_pure(This,pRetVal) \
+ ( (This)->lpVtbl -> get_pure(This,pRetVal) )
+
+#define IDiaSymbol_get_callingConvention(This,pRetVal) \
+ ( (This)->lpVtbl -> get_callingConvention(This,pRetVal) )
+
+#define IDiaSymbol_get_value(This,pRetVal) \
+ ( (This)->lpVtbl -> get_value(This,pRetVal) )
+
+#define IDiaSymbol_get_baseType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseType(This,pRetVal) )
+
+#define IDiaSymbol_get_token(This,pRetVal) \
+ ( (This)->lpVtbl -> get_token(This,pRetVal) )
+
+#define IDiaSymbol_get_timeStamp(This,pRetVal) \
+ ( (This)->lpVtbl -> get_timeStamp(This,pRetVal) )
+
+#define IDiaSymbol_get_guid(This,pRetVal) \
+ ( (This)->lpVtbl -> get_guid(This,pRetVal) )
+
+#define IDiaSymbol_get_symbolsFileName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_symbolsFileName(This,pRetVal) )
+
+#define IDiaSymbol_get_reference(This,pRetVal) \
+ ( (This)->lpVtbl -> get_reference(This,pRetVal) )
+
+#define IDiaSymbol_get_count(This,pRetVal) \
+ ( (This)->lpVtbl -> get_count(This,pRetVal) )
+
+#define IDiaSymbol_get_bitPosition(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bitPosition(This,pRetVal) )
+
+#define IDiaSymbol_get_arrayIndexType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_arrayIndexType(This,pRetVal) )
+
+#define IDiaSymbol_get_packed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_packed(This,pRetVal) )
+
+#define IDiaSymbol_get_constructor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_constructor(This,pRetVal) )
+
+#define IDiaSymbol_get_overloadedOperator(This,pRetVal) \
+ ( (This)->lpVtbl -> get_overloadedOperator(This,pRetVal) )
+
+#define IDiaSymbol_get_nested(This,pRetVal) \
+ ( (This)->lpVtbl -> get_nested(This,pRetVal) )
+
+#define IDiaSymbol_get_hasNestedTypes(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasNestedTypes(This,pRetVal) )
+
+#define IDiaSymbol_get_hasAssignmentOperator(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasAssignmentOperator(This,pRetVal) )
+
+#define IDiaSymbol_get_hasCastOperator(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasCastOperator(This,pRetVal) )
+
+#define IDiaSymbol_get_scoped(This,pRetVal) \
+ ( (This)->lpVtbl -> get_scoped(This,pRetVal) )
+
+#define IDiaSymbol_get_virtualBaseClass(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseClass(This,pRetVal) )
+
+#define IDiaSymbol_get_indirectVirtualBaseClass(This,pRetVal) \
+ ( (This)->lpVtbl -> get_indirectVirtualBaseClass(This,pRetVal) )
+
+#define IDiaSymbol_get_virtualBasePointerOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBasePointerOffset(This,pRetVal) )
+
+#define IDiaSymbol_get_virtualTableShape(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualTableShape(This,pRetVal) )
+
+#define IDiaSymbol_get_lexicalParentId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lexicalParentId(This,pRetVal) )
+
+#define IDiaSymbol_get_classParentId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_classParentId(This,pRetVal) )
+
+#define IDiaSymbol_get_typeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_typeId(This,pRetVal) )
+
+#define IDiaSymbol_get_arrayIndexTypeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_arrayIndexTypeId(This,pRetVal) )
+
+#define IDiaSymbol_get_virtualTableShapeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualTableShapeId(This,pRetVal) )
+
+#define IDiaSymbol_get_code(This,pRetVal) \
+ ( (This)->lpVtbl -> get_code(This,pRetVal) )
+
+#define IDiaSymbol_get_function(This,pRetVal) \
+ ( (This)->lpVtbl -> get_function(This,pRetVal) )
+
+#define IDiaSymbol_get_managed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_managed(This,pRetVal) )
+
+#define IDiaSymbol_get_msil(This,pRetVal) \
+ ( (This)->lpVtbl -> get_msil(This,pRetVal) )
+
+#define IDiaSymbol_get_virtualBaseDispIndex(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseDispIndex(This,pRetVal) )
+
+#define IDiaSymbol_get_undecoratedName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_undecoratedName(This,pRetVal) )
+
+#define IDiaSymbol_get_age(This,pRetVal) \
+ ( (This)->lpVtbl -> get_age(This,pRetVal) )
+
+#define IDiaSymbol_get_signature(This,pRetVal) \
+ ( (This)->lpVtbl -> get_signature(This,pRetVal) )
+
+#define IDiaSymbol_get_compilerGenerated(This,pRetVal) \
+ ( (This)->lpVtbl -> get_compilerGenerated(This,pRetVal) )
+
+#define IDiaSymbol_get_addressTaken(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressTaken(This,pRetVal) )
+
+#define IDiaSymbol_get_rank(This,pRetVal) \
+ ( (This)->lpVtbl -> get_rank(This,pRetVal) )
+
+#define IDiaSymbol_get_lowerBound(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lowerBound(This,pRetVal) )
+
+#define IDiaSymbol_get_upperBound(This,pRetVal) \
+ ( (This)->lpVtbl -> get_upperBound(This,pRetVal) )
+
+#define IDiaSymbol_get_lowerBoundId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lowerBoundId(This,pRetVal) )
+
+#define IDiaSymbol_get_upperBoundId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_upperBoundId(This,pRetVal) )
+
+#define IDiaSymbol_get_dataBytes(This,cbData,pcbData,pbData) \
+ ( (This)->lpVtbl -> get_dataBytes(This,cbData,pcbData,pbData) )
+
+#define IDiaSymbol_findChildren(This,symtag,name,compareFlags,ppResult) \
+ ( (This)->lpVtbl -> findChildren(This,symtag,name,compareFlags,ppResult) )
+
+#define IDiaSymbol_findChildrenEx(This,symtag,name,compareFlags,ppResult) \
+ ( (This)->lpVtbl -> findChildrenEx(This,symtag,name,compareFlags,ppResult) )
+
+#define IDiaSymbol_findChildrenExByAddr(This,symtag,name,compareFlags,isect,offset,ppResult) \
+ ( (This)->lpVtbl -> findChildrenExByAddr(This,symtag,name,compareFlags,isect,offset,ppResult) )
+
+#define IDiaSymbol_findChildrenExByVA(This,symtag,name,compareFlags,va,ppResult) \
+ ( (This)->lpVtbl -> findChildrenExByVA(This,symtag,name,compareFlags,va,ppResult) )
+
+#define IDiaSymbol_findChildrenExByRVA(This,symtag,name,compareFlags,rva,ppResult) \
+ ( (This)->lpVtbl -> findChildrenExByRVA(This,symtag,name,compareFlags,rva,ppResult) )
+
+#define IDiaSymbol_get_targetSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetSection(This,pRetVal) )
+
+#define IDiaSymbol_get_targetOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetOffset(This,pRetVal) )
+
+#define IDiaSymbol_get_targetRelativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetRelativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol_get_targetVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol_get_machineType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_machineType(This,pRetVal) )
+
+#define IDiaSymbol_get_oemId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_oemId(This,pRetVal) )
+
+#define IDiaSymbol_get_oemSymbolId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_oemSymbolId(This,pRetVal) )
+
+#define IDiaSymbol_get_types(This,cTypes,pcTypes,pTypes) \
+ ( (This)->lpVtbl -> get_types(This,cTypes,pcTypes,pTypes) )
+
+#define IDiaSymbol_get_typeIds(This,cTypeIds,pcTypeIds,pdwTypeIds) \
+ ( (This)->lpVtbl -> get_typeIds(This,cTypeIds,pcTypeIds,pdwTypeIds) )
+
+#define IDiaSymbol_get_objectPointerType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_objectPointerType(This,pRetVal) )
+
+#define IDiaSymbol_get_udtKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_udtKind(This,pRetVal) )
+
+#define IDiaSymbol_get_undecoratedNameEx(This,undecorateOptions,name) \
+ ( (This)->lpVtbl -> get_undecoratedNameEx(This,undecorateOptions,name) )
+
+#define IDiaSymbol_get_noReturn(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noReturn(This,pRetVal) )
+
+#define IDiaSymbol_get_customCallingConvention(This,pRetVal) \
+ ( (This)->lpVtbl -> get_customCallingConvention(This,pRetVal) )
+
+#define IDiaSymbol_get_noInline(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noInline(This,pRetVal) )
+
+#define IDiaSymbol_get_optimizedCodeDebugInfo(This,pRetVal) \
+ ( (This)->lpVtbl -> get_optimizedCodeDebugInfo(This,pRetVal) )
+
+#define IDiaSymbol_get_notReached(This,pRetVal) \
+ ( (This)->lpVtbl -> get_notReached(This,pRetVal) )
+
+#define IDiaSymbol_get_interruptReturn(This,pRetVal) \
+ ( (This)->lpVtbl -> get_interruptReturn(This,pRetVal) )
+
+#define IDiaSymbol_get_farReturn(This,pRetVal) \
+ ( (This)->lpVtbl -> get_farReturn(This,pRetVal) )
+
+#define IDiaSymbol_get_isStatic(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isStatic(This,pRetVal) )
+
+#define IDiaSymbol_get_hasDebugInfo(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasDebugInfo(This,pRetVal) )
+
+#define IDiaSymbol_get_isLTCG(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isLTCG(This,pRetVal) )
+
+#define IDiaSymbol_get_isDataAligned(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isDataAligned(This,pRetVal) )
+
+#define IDiaSymbol_get_hasSecurityChecks(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasSecurityChecks(This,pRetVal) )
+
+#define IDiaSymbol_get_compilerName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_compilerName(This,pRetVal) )
+
+#define IDiaSymbol_get_hasAlloca(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasAlloca(This,pRetVal) )
+
+#define IDiaSymbol_get_hasSetJump(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasSetJump(This,pRetVal) )
+
+#define IDiaSymbol_get_hasLongJump(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasLongJump(This,pRetVal) )
+
+#define IDiaSymbol_get_hasInlAsm(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasInlAsm(This,pRetVal) )
+
+#define IDiaSymbol_get_hasEH(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasEH(This,pRetVal) )
+
+#define IDiaSymbol_get_hasSEH(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasSEH(This,pRetVal) )
+
+#define IDiaSymbol_get_hasEHa(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasEHa(This,pRetVal) )
+
+#define IDiaSymbol_get_isNaked(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isNaked(This,pRetVal) )
+
+#define IDiaSymbol_get_isAggregated(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAggregated(This,pRetVal) )
+
+#define IDiaSymbol_get_isSplitted(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSplitted(This,pRetVal) )
+
+#define IDiaSymbol_get_container(This,pRetVal) \
+ ( (This)->lpVtbl -> get_container(This,pRetVal) )
+
+#define IDiaSymbol_get_inlSpec(This,pRetVal) \
+ ( (This)->lpVtbl -> get_inlSpec(This,pRetVal) )
+
+#define IDiaSymbol_get_noStackOrdering(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noStackOrdering(This,pRetVal) )
+
+#define IDiaSymbol_get_virtualBaseTableType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseTableType(This,pRetVal) )
+
+#define IDiaSymbol_get_hasManagedCode(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasManagedCode(This,pRetVal) )
+
+#define IDiaSymbol_get_isHotpatchable(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isHotpatchable(This,pRetVal) )
+
+#define IDiaSymbol_get_isCVTCIL(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isCVTCIL(This,pRetVal) )
+
+#define IDiaSymbol_get_isMSILNetmodule(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isMSILNetmodule(This,pRetVal) )
+
+#define IDiaSymbol_get_isCTypes(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isCTypes(This,pRetVal) )
+
+#define IDiaSymbol_get_isStripped(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isStripped(This,pRetVal) )
+
+#define IDiaSymbol_get_frontEndQFE(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndQFE(This,pRetVal) )
+
+#define IDiaSymbol_get_backEndQFE(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndQFE(This,pRetVal) )
+
+#define IDiaSymbol_get_wasInlined(This,pRetVal) \
+ ( (This)->lpVtbl -> get_wasInlined(This,pRetVal) )
+
+#define IDiaSymbol_get_strictGSCheck(This,pRetVal) \
+ ( (This)->lpVtbl -> get_strictGSCheck(This,pRetVal) )
+
+#define IDiaSymbol_get_isCxxReturnUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isCxxReturnUdt(This,pRetVal) )
+
+#define IDiaSymbol_get_isConstructorVirtualBase(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isConstructorVirtualBase(This,pRetVal) )
+
+#define IDiaSymbol_get_RValueReference(This,pRetVal) \
+ ( (This)->lpVtbl -> get_RValueReference(This,pRetVal) )
+
+#define IDiaSymbol_get_unmodifiedType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unmodifiedType(This,pRetVal) )
+
+#define IDiaSymbol_get_framePointerPresent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_framePointerPresent(This,pRetVal) )
+
+#define IDiaSymbol_get_isSafeBuffers(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSafeBuffers(This,pRetVal) )
+
+#define IDiaSymbol_get_intrinsic(This,pRetVal) \
+ ( (This)->lpVtbl -> get_intrinsic(This,pRetVal) )
+
+#define IDiaSymbol_get_sealed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_sealed(This,pRetVal) )
+
+#define IDiaSymbol_get_hfaFloat(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hfaFloat(This,pRetVal) )
+
+#define IDiaSymbol_get_hfaDouble(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hfaDouble(This,pRetVal) )
+
+#define IDiaSymbol_get_liveRangeStartAddressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeStartAddressSection(This,pRetVal) )
+
+#define IDiaSymbol_get_liveRangeStartAddressOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeStartAddressOffset(This,pRetVal) )
+
+#define IDiaSymbol_get_liveRangeStartRelativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeStartRelativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol_get_countLiveRanges(This,pRetVal) \
+ ( (This)->lpVtbl -> get_countLiveRanges(This,pRetVal) )
+
+#define IDiaSymbol_get_liveRangeLength(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeLength(This,pRetVal) )
+
+#define IDiaSymbol_get_offsetInUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_offsetInUdt(This,pRetVal) )
+
+#define IDiaSymbol_get_paramBasePointerRegisterId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_paramBasePointerRegisterId(This,pRetVal) )
+
+#define IDiaSymbol_get_localBasePointerRegisterId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_localBasePointerRegisterId(This,pRetVal) )
+
+#define IDiaSymbol_get_isLocationControlFlowDependent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isLocationControlFlowDependent(This,pRetVal) )
+
+#define IDiaSymbol_get_stride(This,pRetVal) \
+ ( (This)->lpVtbl -> get_stride(This,pRetVal) )
+
+#define IDiaSymbol_get_numberOfRows(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfRows(This,pRetVal) )
+
+#define IDiaSymbol_get_numberOfColumns(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfColumns(This,pRetVal) )
+
+#define IDiaSymbol_get_isMatrixRowMajor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isMatrixRowMajor(This,pRetVal) )
+
+#define IDiaSymbol_get_numericProperties(This,cnt,pcnt,pProperties) \
+ ( (This)->lpVtbl -> get_numericProperties(This,cnt,pcnt,pProperties) )
+
+#define IDiaSymbol_get_modifierValues(This,cnt,pcnt,pModifiers) \
+ ( (This)->lpVtbl -> get_modifierValues(This,cnt,pcnt,pModifiers) )
+
+#define IDiaSymbol_get_isReturnValue(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isReturnValue(This,pRetVal) )
+
+#define IDiaSymbol_get_isOptimizedAway(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isOptimizedAway(This,pRetVal) )
+
+#define IDiaSymbol_get_builtInKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_builtInKind(This,pRetVal) )
+
+#define IDiaSymbol_get_registerType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_registerType(This,pRetVal) )
+
+#define IDiaSymbol_get_baseDataSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseDataSlot(This,pRetVal) )
+
+#define IDiaSymbol_get_baseDataOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseDataOffset(This,pRetVal) )
+
+#define IDiaSymbol_get_textureSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_textureSlot(This,pRetVal) )
+
+#define IDiaSymbol_get_samplerSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_samplerSlot(This,pRetVal) )
+
+#define IDiaSymbol_get_uavSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_uavSlot(This,pRetVal) )
+
+#define IDiaSymbol_get_sizeInUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_sizeInUdt(This,pRetVal) )
+
+#define IDiaSymbol_get_memorySpaceKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_memorySpaceKind(This,pRetVal) )
+
+#define IDiaSymbol_get_unmodifiedTypeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unmodifiedTypeId(This,pRetVal) )
+
+#define IDiaSymbol_get_subTypeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_subTypeId(This,pRetVal) )
+
+#define IDiaSymbol_get_subType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_subType(This,pRetVal) )
+
+#define IDiaSymbol_get_numberOfModifiers(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfModifiers(This,pRetVal) )
+
+#define IDiaSymbol_get_numberOfRegisterIndices(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfRegisterIndices(This,pRetVal) )
+
+#define IDiaSymbol_get_isHLSLData(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isHLSLData(This,pRetVal) )
+
+#define IDiaSymbol_get_isPointerToDataMember(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPointerToDataMember(This,pRetVal) )
+
+#define IDiaSymbol_get_isPointerToMemberFunction(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPointerToMemberFunction(This,pRetVal) )
+
+#define IDiaSymbol_get_isSingleInheritance(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSingleInheritance(This,pRetVal) )
+
+#define IDiaSymbol_get_isMultipleInheritance(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isMultipleInheritance(This,pRetVal) )
+
+#define IDiaSymbol_get_isVirtualInheritance(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isVirtualInheritance(This,pRetVal) )
+
+#define IDiaSymbol_get_restrictedType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_restrictedType(This,pRetVal) )
+
+#define IDiaSymbol_get_isPointerBasedOnSymbolValue(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPointerBasedOnSymbolValue(This,pRetVal) )
+
+#define IDiaSymbol_get_baseSymbol(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseSymbol(This,pRetVal) )
+
+#define IDiaSymbol_get_baseSymbolId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseSymbolId(This,pRetVal) )
+
+#define IDiaSymbol_get_objectFileName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_objectFileName(This,pRetVal) )
+
+#define IDiaSymbol_get_isAcceleratorGroupSharedLocal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAcceleratorGroupSharedLocal(This,pRetVal) )
+
+#define IDiaSymbol_get_isAcceleratorPointerTagLiveRange(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAcceleratorPointerTagLiveRange(This,pRetVal) )
+
+#define IDiaSymbol_get_isAcceleratorStubFunction(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAcceleratorStubFunction(This,pRetVal) )
+
+#define IDiaSymbol_get_numberOfAcceleratorPointerTags(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfAcceleratorPointerTags(This,pRetVal) )
+
+#define IDiaSymbol_get_isSdl(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSdl(This,pRetVal) )
+
+#define IDiaSymbol_get_isWinRTPointer(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isWinRTPointer(This,pRetVal) )
+
+#define IDiaSymbol_get_isRefUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isRefUdt(This,pRetVal) )
+
+#define IDiaSymbol_get_isValueUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isValueUdt(This,pRetVal) )
+
+#define IDiaSymbol_get_isInterfaceUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isInterfaceUdt(This,pRetVal) )
+
+#define IDiaSymbol_findInlineFramesByAddr(This,isect,offset,ppResult) \
+ ( (This)->lpVtbl -> findInlineFramesByAddr(This,isect,offset,ppResult) )
+
+#define IDiaSymbol_findInlineFramesByRVA(This,rva,ppResult) \
+ ( (This)->lpVtbl -> findInlineFramesByRVA(This,rva,ppResult) )
+
+#define IDiaSymbol_findInlineFramesByVA(This,va,ppResult) \
+ ( (This)->lpVtbl -> findInlineFramesByVA(This,va,ppResult) )
+
+#define IDiaSymbol_findInlineeLines(This,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLines(This,ppResult) )
+
+#define IDiaSymbol_findInlineeLinesByAddr(This,isect,offset,length,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByAddr(This,isect,offset,length,ppResult) )
+
+#define IDiaSymbol_findInlineeLinesByRVA(This,rva,length,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByRVA(This,rva,length,ppResult) )
+
+#define IDiaSymbol_findInlineeLinesByVA(This,va,length,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByVA(This,va,length,ppResult) )
+
+#define IDiaSymbol_findSymbolsForAcceleratorPointerTag(This,tagValue,ppResult) \
+ ( (This)->lpVtbl -> findSymbolsForAcceleratorPointerTag(This,tagValue,ppResult) )
+
+#define IDiaSymbol_findSymbolsByRVAForAcceleratorPointerTag(This,tagValue,rva,ppResult) \
+ ( (This)->lpVtbl -> findSymbolsByRVAForAcceleratorPointerTag(This,tagValue,rva,ppResult) )
+
+#define IDiaSymbol_get_acceleratorPointerTags(This,cnt,pcnt,pPointerTags) \
+ ( (This)->lpVtbl -> get_acceleratorPointerTags(This,cnt,pcnt,pPointerTags) )
+
+#define IDiaSymbol_getSrcLineOnTypeDefn(This,ppResult) \
+ ( (This)->lpVtbl -> getSrcLineOnTypeDefn(This,ppResult) )
+
+#define IDiaSymbol_get_isPGO(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPGO(This,pRetVal) )
+
+#define IDiaSymbol_get_hasValidPGOCounts(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasValidPGOCounts(This,pRetVal) )
+
+#define IDiaSymbol_get_isOptimizedForSpeed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isOptimizedForSpeed(This,pRetVal) )
+
+#define IDiaSymbol_get_PGOEntryCount(This,pRetVal) \
+ ( (This)->lpVtbl -> get_PGOEntryCount(This,pRetVal) )
+
+#define IDiaSymbol_get_PGOEdgeCount(This,pRetVal) \
+ ( (This)->lpVtbl -> get_PGOEdgeCount(This,pRetVal) )
+
+#define IDiaSymbol_get_PGODynamicInstructionCount(This,pRetVal) \
+ ( (This)->lpVtbl -> get_PGODynamicInstructionCount(This,pRetVal) )
+
+#define IDiaSymbol_get_staticSize(This,pRetVal) \
+ ( (This)->lpVtbl -> get_staticSize(This,pRetVal) )
+
+#define IDiaSymbol_get_finalLiveStaticSize(This,pRetVal) \
+ ( (This)->lpVtbl -> get_finalLiveStaticSize(This,pRetVal) )
+
+#define IDiaSymbol_get_phaseName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_phaseName(This,pRetVal) )
+
+#define IDiaSymbol_get_hasControlFlowCheck(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasControlFlowCheck(This,pRetVal) )
+
+#define IDiaSymbol_get_constantExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_constantExport(This,pRetVal) )
+
+#define IDiaSymbol_get_dataExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_dataExport(This,pRetVal) )
+
+#define IDiaSymbol_get_privateExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_privateExport(This,pRetVal) )
+
+#define IDiaSymbol_get_noNameExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noNameExport(This,pRetVal) )
+
+#define IDiaSymbol_get_exportHasExplicitlyAssignedOrdinal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exportHasExplicitlyAssignedOrdinal(This,pRetVal) )
+
+#define IDiaSymbol_get_exportIsForwarder(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exportIsForwarder(This,pRetVal) )
+
+#define IDiaSymbol_get_ordinal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_ordinal(This,pRetVal) )
+
+#define IDiaSymbol_get_frameSize(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frameSize(This,pRetVal) )
+
+#define IDiaSymbol_get_exceptionHandlerAddressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerAddressSection(This,pRetVal) )
+
+#define IDiaSymbol_get_exceptionHandlerAddressOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerAddressOffset(This,pRetVal) )
+
+#define IDiaSymbol_get_exceptionHandlerRelativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerRelativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol_get_exceptionHandlerVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol_findInputAssemblyFile(This,ppResult) \
+ ( (This)->lpVtbl -> findInputAssemblyFile(This,ppResult) )
+
+#define IDiaSymbol_get_characteristics(This,pRetVal) \
+ ( (This)->lpVtbl -> get_characteristics(This,pRetVal) )
+
+#define IDiaSymbol_get_coffGroup(This,pRetVal) \
+ ( (This)->lpVtbl -> get_coffGroup(This,pRetVal) )
+
+#define IDiaSymbol_get_bindID(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bindID(This,pRetVal) )
+
+#define IDiaSymbol_get_bindSpace(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bindSpace(This,pRetVal) )
+
+#define IDiaSymbol_get_bindSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bindSlot(This,pRetVal) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtualBaseTableType_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_virtualBaseTableType_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_hasManagedCode_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_hasManagedCode_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isHotpatchable_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isHotpatchable_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isCVTCIL_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isCVTCIL_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isMSILNetmodule_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isMSILNetmodule_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isCTypes_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isCTypes_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isStripped_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isStripped_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_frontEndQFE_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_frontEndQFE_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_backEndQFE_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_backEndQFE_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_wasInlined_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_wasInlined_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_strictGSCheck_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_strictGSCheck_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isCxxReturnUdt_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isCxxReturnUdt_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isConstructorVirtualBase_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isConstructorVirtualBase_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_RValueReference_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_RValueReference_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_unmodifiedType_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_unmodifiedType_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_framePointerPresent_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_framePointerPresent_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isSafeBuffers_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isSafeBuffers_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_intrinsic_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_intrinsic_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_sealed_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_sealed_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_hfaFloat_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_hfaFloat_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_hfaDouble_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_hfaDouble_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_liveRangeStartAddressSection_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_liveRangeStartAddressSection_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_liveRangeStartAddressOffset_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_liveRangeStartAddressOffset_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_liveRangeStartRelativeVirtualAddress_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_liveRangeStartRelativeVirtualAddress_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_countLiveRanges_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_countLiveRanges_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_liveRangeLength_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_liveRangeLength_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_offsetInUdt_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_offsetInUdt_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_paramBasePointerRegisterId_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_paramBasePointerRegisterId_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_localBasePointerRegisterId_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_localBasePointerRegisterId_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isLocationControlFlowDependent_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isLocationControlFlowDependent_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_stride_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_stride_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_numberOfRows_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_numberOfRows_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_numberOfColumns_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_numberOfColumns_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isMatrixRowMajor_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isMatrixRowMajor_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDiaSymbol_get_numericProperties_Proxy(
+ IDiaSymbol * This,
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ DWORD *pProperties);
+
+
+void __RPC_STUB IDiaSymbol_get_numericProperties_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDiaSymbol_get_modifierValues_Proxy(
+ IDiaSymbol * This,
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ WORD *pModifiers);
+
+
+void __RPC_STUB IDiaSymbol_get_modifierValues_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isReturnValue_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isReturnValue_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isOptimizedAway_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isOptimizedAway_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_builtInKind_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_builtInKind_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_registerType_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_registerType_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_baseDataSlot_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_baseDataSlot_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_baseDataOffset_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_baseDataOffset_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_textureSlot_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_textureSlot_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_samplerSlot_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_samplerSlot_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_uavSlot_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_uavSlot_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_sizeInUdt_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_sizeInUdt_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_memorySpaceKind_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_memorySpaceKind_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_unmodifiedTypeId_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_unmodifiedTypeId_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_subTypeId_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_subTypeId_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_subType_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_subType_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_numberOfModifiers_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_numberOfModifiers_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_numberOfRegisterIndices_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_numberOfRegisterIndices_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isHLSLData_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isHLSLData_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isPointerToDataMember_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isPointerToDataMember_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isPointerToMemberFunction_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isPointerToMemberFunction_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isSingleInheritance_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isSingleInheritance_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isMultipleInheritance_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isMultipleInheritance_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isVirtualInheritance_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isVirtualInheritance_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_restrictedType_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_restrictedType_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isPointerBasedOnSymbolValue_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isPointerBasedOnSymbolValue_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_baseSymbol_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_baseSymbol_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_baseSymbolId_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_baseSymbolId_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_objectFileName_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_objectFileName_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isAcceleratorGroupSharedLocal_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isAcceleratorGroupSharedLocal_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isAcceleratorPointerTagLiveRange_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isAcceleratorPointerTagLiveRange_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isAcceleratorStubFunction_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isAcceleratorStubFunction_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_numberOfAcceleratorPointerTags_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_numberOfAcceleratorPointerTags_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isSdl_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isSdl_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isWinRTPointer_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isWinRTPointer_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isRefUdt_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isRefUdt_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isValueUdt_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isValueUdt_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isInterfaceUdt_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isInterfaceUdt_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDiaSymbol_findInlineFramesByAddr_Proxy(
+ IDiaSymbol * This,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+
+void __RPC_STUB IDiaSymbol_findInlineFramesByAddr_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDiaSymbol_findInlineFramesByRVA_Proxy(
+ IDiaSymbol * This,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+
+void __RPC_STUB IDiaSymbol_findInlineFramesByRVA_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDiaSymbol_findInlineFramesByVA_Proxy(
+ IDiaSymbol * This,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+
+void __RPC_STUB IDiaSymbol_findInlineFramesByVA_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDiaSymbol_findInlineeLines_Proxy(
+ IDiaSymbol * This,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+
+void __RPC_STUB IDiaSymbol_findInlineeLines_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDiaSymbol_findInlineeLinesByAddr_Proxy(
+ IDiaSymbol * This,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+
+void __RPC_STUB IDiaSymbol_findInlineeLinesByAddr_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDiaSymbol_findInlineeLinesByRVA_Proxy(
+ IDiaSymbol * This,
+ /* [in] */ DWORD rva,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+
+void __RPC_STUB IDiaSymbol_findInlineeLinesByRVA_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDiaSymbol_findInlineeLinesByVA_Proxy(
+ IDiaSymbol * This,
+ /* [in] */ ULONGLONG va,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+
+void __RPC_STUB IDiaSymbol_findInlineeLinesByVA_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDiaSymbol_findSymbolsForAcceleratorPointerTag_Proxy(
+ IDiaSymbol * This,
+ /* [in] */ DWORD tagValue,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+
+void __RPC_STUB IDiaSymbol_findSymbolsForAcceleratorPointerTag_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDiaSymbol_findSymbolsByRVAForAcceleratorPointerTag_Proxy(
+ IDiaSymbol * This,
+ /* [in] */ DWORD tagValue,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+
+void __RPC_STUB IDiaSymbol_findSymbolsByRVAForAcceleratorPointerTag_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDiaSymbol_get_acceleratorPointerTags_Proxy(
+ IDiaSymbol * This,
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ DWORD *pPointerTags);
+
+
+void __RPC_STUB IDiaSymbol_get_acceleratorPointerTags_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDiaSymbol_getSrcLineOnTypeDefn_Proxy(
+ IDiaSymbol * This,
+ /* [out] */ IDiaLineNumber **ppResult);
+
+
+void __RPC_STUB IDiaSymbol_getSrcLineOnTypeDefn_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isPGO_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isPGO_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_hasValidPGOCounts_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_hasValidPGOCounts_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isOptimizedForSpeed_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_isOptimizedForSpeed_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_PGOEntryCount_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_PGOEntryCount_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_PGOEdgeCount_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_PGOEdgeCount_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_PGODynamicInstructionCount_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_PGODynamicInstructionCount_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_staticSize_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_staticSize_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_finalLiveStaticSize_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_finalLiveStaticSize_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_phaseName_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_phaseName_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_hasControlFlowCheck_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_hasControlFlowCheck_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_constantExport_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_constantExport_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_dataExport_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_dataExport_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_privateExport_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_privateExport_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_noNameExport_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_noNameExport_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_exportHasExplicitlyAssignedOrdinal_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_exportHasExplicitlyAssignedOrdinal_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_exportIsForwarder_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_exportIsForwarder_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_ordinal_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_ordinal_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_frameSize_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_frameSize_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_exceptionHandlerAddressSection_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_exceptionHandlerAddressSection_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_exceptionHandlerAddressOffset_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_exceptionHandlerAddressOffset_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_exceptionHandlerRelativeVirtualAddress_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_exceptionHandlerRelativeVirtualAddress_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_exceptionHandlerVirtualAddress_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_exceptionHandlerVirtualAddress_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+HRESULT STDMETHODCALLTYPE IDiaSymbol_findInputAssemblyFile_Proxy(
+ IDiaSymbol * This,
+ /* [out] */ IDiaInputAssemblyFile **ppResult);
+
+
+void __RPC_STUB IDiaSymbol_findInputAssemblyFile_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_characteristics_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_characteristics_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_coffGroup_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_coffGroup_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_bindID_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_bindID_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_bindSpace_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_bindSpace_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_bindSlot_Proxy(
+ IDiaSymbol * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol_get_bindSlot_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDiaSymbol_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaSymbol2_INTERFACE_DEFINED__
+#define __IDiaSymbol2_INTERFACE_DEFINED__
+
+/* interface IDiaSymbol2 */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaSymbol2;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("611e86cd-b7d1-4546-8a15-070e2b07a427")
+ IDiaSymbol2 : public IDiaSymbol
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isObjCClass(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isObjCCategory(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isObjCProtocol(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaSymbol2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaSymbol2 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaSymbol2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaSymbol2 * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symIndexId )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symTag )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lexicalParent )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_classParent )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataKind )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_locationType )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressOffset )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerId )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offset )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_slot )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_volatileType )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constType )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unalignedType )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_access )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_libraryName )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_platform )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_language )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_editAndContinueEnabled )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndMajor )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndMinor )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndBuild )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndMajor )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndMinor )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndBuild )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sourceFileName )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unused )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_thunkOrdinal )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_thisAdjust )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseOffset )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtual )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_intro )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pure )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_callingConvention )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ VARIANT *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseType )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_token )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_timeStamp )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_guid )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ GUID *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symbolsFileName )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_reference )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_count )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bitPosition )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_arrayIndexType )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_packed )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constructor )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_overloadedOperator )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nested )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasNestedTypes )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasAssignmentOperator )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasCastOperator )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scoped )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseClass )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_indirectVirtualBaseClass )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBasePointerOffset )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualTableShape )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lexicalParentId )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_classParentId )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_typeId )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_arrayIndexTypeId )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualTableShapeId )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_code )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_function )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_managed )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msil )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseDispIndex )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_undecoratedName )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_age )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_signature )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilerGenerated )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressTaken )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rank )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowerBound )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_upperBound )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowerBoundId )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_upperBoundId )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_dataBytes )(
+ IDiaSymbol2 * This,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildren )(
+ IDiaSymbol2 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenEx )(
+ IDiaSymbol2 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenExByAddr )(
+ IDiaSymbol2 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenExByVA )(
+ IDiaSymbol2 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenExByRVA )(
+ IDiaSymbol2 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetSection )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetOffset )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetRelativeVirtualAddress )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVirtualAddress )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_machineType )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oemId )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oemSymbolId )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_types )(
+ IDiaSymbol2 * This,
+ /* [in] */ DWORD cTypes,
+ /* [out] */ DWORD *pcTypes,
+ /* [size_is][size_is][out] */ IDiaSymbol **pTypes);
+
+ HRESULT ( STDMETHODCALLTYPE *get_typeIds )(
+ IDiaSymbol2 * This,
+ /* [in] */ DWORD cTypeIds,
+ /* [out] */ DWORD *pcTypeIds,
+ /* [size_is][out] */ DWORD *pdwTypeIds);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_objectPointerType )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_udtKind )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_undecoratedNameEx )(
+ IDiaSymbol2 * This,
+ /* [in] */ DWORD undecorateOptions,
+ /* [out] */ BSTR *name);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noReturn )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_customCallingConvention )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noInline )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_optimizedCodeDebugInfo )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_notReached )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_interruptReturn )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_farReturn )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isStatic )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasDebugInfo )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isLTCG )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isDataAligned )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasSecurityChecks )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilerName )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasAlloca )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasSetJump )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasLongJump )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasInlAsm )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasEH )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasSEH )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasEHa )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isNaked )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAggregated )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSplitted )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_container )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_inlSpec )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noStackOrdering )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseTableType )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasManagedCode )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isHotpatchable )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCVTCIL )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMSILNetmodule )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCTypes )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isStripped )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndQFE )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndQFE )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_wasInlined )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_strictGSCheck )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCxxReturnUdt )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isConstructorVirtualBase )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RValueReference )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unmodifiedType )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_framePointerPresent )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSafeBuffers )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_intrinsic )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sealed )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hfaFloat )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hfaDouble )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeStartAddressSection )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeStartAddressOffset )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeStartRelativeVirtualAddress )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_countLiveRanges )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeLength )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetInUdt )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_paramBasePointerRegisterId )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_localBasePointerRegisterId )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isLocationControlFlowDependent )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_stride )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfRows )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfColumns )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMatrixRowMajor )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_numericProperties )(
+ IDiaSymbol2 * This,
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ DWORD *pProperties);
+
+ HRESULT ( STDMETHODCALLTYPE *get_modifierValues )(
+ IDiaSymbol2 * This,
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ WORD *pModifiers);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isReturnValue )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isOptimizedAway )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_builtInKind )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerType )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseDataSlot )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseDataOffset )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textureSlot )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_samplerSlot )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_uavSlot )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sizeInUdt )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_memorySpaceKind )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unmodifiedTypeId )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_subTypeId )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_subType )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfModifiers )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfRegisterIndices )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isHLSLData )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPointerToDataMember )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPointerToMemberFunction )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSingleInheritance )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMultipleInheritance )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isVirtualInheritance )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_restrictedType )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPointerBasedOnSymbolValue )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseSymbol )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseSymbolId )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_objectFileName )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAcceleratorGroupSharedLocal )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAcceleratorPointerTagLiveRange )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAcceleratorStubFunction )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfAcceleratorPointerTags )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSdl )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isWinRTPointer )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRefUdt )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isValueUdt )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isInterfaceUdt )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineFramesByAddr )(
+ IDiaSymbol2 * This,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineFramesByRVA )(
+ IDiaSymbol2 * This,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineFramesByVA )(
+ IDiaSymbol2 * This,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLines )(
+ IDiaSymbol2 * This,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByAddr )(
+ IDiaSymbol2 * This,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByRVA )(
+ IDiaSymbol2 * This,
+ /* [in] */ DWORD rva,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByVA )(
+ IDiaSymbol2 * This,
+ /* [in] */ ULONGLONG va,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findSymbolsForAcceleratorPointerTag )(
+ IDiaSymbol2 * This,
+ /* [in] */ DWORD tagValue,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findSymbolsByRVAForAcceleratorPointerTag )(
+ IDiaSymbol2 * This,
+ /* [in] */ DWORD tagValue,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *get_acceleratorPointerTags )(
+ IDiaSymbol2 * This,
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ DWORD *pPointerTags);
+
+ HRESULT ( STDMETHODCALLTYPE *getSrcLineOnTypeDefn )(
+ IDiaSymbol2 * This,
+ /* [out] */ IDiaLineNumber **ppResult);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPGO )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasValidPGOCounts )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isOptimizedForSpeed )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PGOEntryCount )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PGOEdgeCount )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PGODynamicInstructionCount )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_staticSize )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_finalLiveStaticSize )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_phaseName )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasControlFlowCheck )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constantExport )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataExport )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_privateExport )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noNameExport )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exportHasExplicitlyAssignedOrdinal )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exportIsForwarder )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ordinal )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frameSize )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerAddressSection )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerAddressOffset )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerRelativeVirtualAddress )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerVirtualAddress )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *findInputAssemblyFile )(
+ IDiaSymbol2 * This,
+ /* [out] */ IDiaInputAssemblyFile **ppResult);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_characteristics )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_coffGroup )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bindID )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bindSpace )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bindSlot )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isObjCClass )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isObjCCategory )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isObjCProtocol )(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ END_INTERFACE
+ } IDiaSymbol2Vtbl;
+
+ interface IDiaSymbol2
+ {
+ CONST_VTBL struct IDiaSymbol2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaSymbol2_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaSymbol2_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaSymbol2_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaSymbol2_get_symIndexId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_symIndexId(This,pRetVal) )
+
+#define IDiaSymbol2_get_symTag(This,pRetVal) \
+ ( (This)->lpVtbl -> get_symTag(This,pRetVal) )
+
+#define IDiaSymbol2_get_name(This,pRetVal) \
+ ( (This)->lpVtbl -> get_name(This,pRetVal) )
+
+#define IDiaSymbol2_get_lexicalParent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lexicalParent(This,pRetVal) )
+
+#define IDiaSymbol2_get_classParent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_classParent(This,pRetVal) )
+
+#define IDiaSymbol2_get_type(This,pRetVal) \
+ ( (This)->lpVtbl -> get_type(This,pRetVal) )
+
+#define IDiaSymbol2_get_dataKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_dataKind(This,pRetVal) )
+
+#define IDiaSymbol2_get_locationType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_locationType(This,pRetVal) )
+
+#define IDiaSymbol2_get_addressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressSection(This,pRetVal) )
+
+#define IDiaSymbol2_get_addressOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressOffset(This,pRetVal) )
+
+#define IDiaSymbol2_get_relativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol2_get_virtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualAddress(This,pRetVal) )
+
+#define IDiaSymbol2_get_registerId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_registerId(This,pRetVal) )
+
+#define IDiaSymbol2_get_offset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_offset(This,pRetVal) )
+
+#define IDiaSymbol2_get_length(This,pRetVal) \
+ ( (This)->lpVtbl -> get_length(This,pRetVal) )
+
+#define IDiaSymbol2_get_slot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_slot(This,pRetVal) )
+
+#define IDiaSymbol2_get_volatileType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_volatileType(This,pRetVal) )
+
+#define IDiaSymbol2_get_constType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_constType(This,pRetVal) )
+
+#define IDiaSymbol2_get_unalignedType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unalignedType(This,pRetVal) )
+
+#define IDiaSymbol2_get_access(This,pRetVal) \
+ ( (This)->lpVtbl -> get_access(This,pRetVal) )
+
+#define IDiaSymbol2_get_libraryName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_libraryName(This,pRetVal) )
+
+#define IDiaSymbol2_get_platform(This,pRetVal) \
+ ( (This)->lpVtbl -> get_platform(This,pRetVal) )
+
+#define IDiaSymbol2_get_language(This,pRetVal) \
+ ( (This)->lpVtbl -> get_language(This,pRetVal) )
+
+#define IDiaSymbol2_get_editAndContinueEnabled(This,pRetVal) \
+ ( (This)->lpVtbl -> get_editAndContinueEnabled(This,pRetVal) )
+
+#define IDiaSymbol2_get_frontEndMajor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndMajor(This,pRetVal) )
+
+#define IDiaSymbol2_get_frontEndMinor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndMinor(This,pRetVal) )
+
+#define IDiaSymbol2_get_frontEndBuild(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndBuild(This,pRetVal) )
+
+#define IDiaSymbol2_get_backEndMajor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndMajor(This,pRetVal) )
+
+#define IDiaSymbol2_get_backEndMinor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndMinor(This,pRetVal) )
+
+#define IDiaSymbol2_get_backEndBuild(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndBuild(This,pRetVal) )
+
+#define IDiaSymbol2_get_sourceFileName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_sourceFileName(This,pRetVal) )
+
+#define IDiaSymbol2_get_unused(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unused(This,pRetVal) )
+
+#define IDiaSymbol2_get_thunkOrdinal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_thunkOrdinal(This,pRetVal) )
+
+#define IDiaSymbol2_get_thisAdjust(This,pRetVal) \
+ ( (This)->lpVtbl -> get_thisAdjust(This,pRetVal) )
+
+#define IDiaSymbol2_get_virtualBaseOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseOffset(This,pRetVal) )
+
+#define IDiaSymbol2_get_virtual(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtual(This,pRetVal) )
+
+#define IDiaSymbol2_get_intro(This,pRetVal) \
+ ( (This)->lpVtbl -> get_intro(This,pRetVal) )
+
+#define IDiaSymbol2_get_pure(This,pRetVal) \
+ ( (This)->lpVtbl -> get_pure(This,pRetVal) )
+
+#define IDiaSymbol2_get_callingConvention(This,pRetVal) \
+ ( (This)->lpVtbl -> get_callingConvention(This,pRetVal) )
+
+#define IDiaSymbol2_get_value(This,pRetVal) \
+ ( (This)->lpVtbl -> get_value(This,pRetVal) )
+
+#define IDiaSymbol2_get_baseType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseType(This,pRetVal) )
+
+#define IDiaSymbol2_get_token(This,pRetVal) \
+ ( (This)->lpVtbl -> get_token(This,pRetVal) )
+
+#define IDiaSymbol2_get_timeStamp(This,pRetVal) \
+ ( (This)->lpVtbl -> get_timeStamp(This,pRetVal) )
+
+#define IDiaSymbol2_get_guid(This,pRetVal) \
+ ( (This)->lpVtbl -> get_guid(This,pRetVal) )
+
+#define IDiaSymbol2_get_symbolsFileName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_symbolsFileName(This,pRetVal) )
+
+#define IDiaSymbol2_get_reference(This,pRetVal) \
+ ( (This)->lpVtbl -> get_reference(This,pRetVal) )
+
+#define IDiaSymbol2_get_count(This,pRetVal) \
+ ( (This)->lpVtbl -> get_count(This,pRetVal) )
+
+#define IDiaSymbol2_get_bitPosition(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bitPosition(This,pRetVal) )
+
+#define IDiaSymbol2_get_arrayIndexType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_arrayIndexType(This,pRetVal) )
+
+#define IDiaSymbol2_get_packed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_packed(This,pRetVal) )
+
+#define IDiaSymbol2_get_constructor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_constructor(This,pRetVal) )
+
+#define IDiaSymbol2_get_overloadedOperator(This,pRetVal) \
+ ( (This)->lpVtbl -> get_overloadedOperator(This,pRetVal) )
+
+#define IDiaSymbol2_get_nested(This,pRetVal) \
+ ( (This)->lpVtbl -> get_nested(This,pRetVal) )
+
+#define IDiaSymbol2_get_hasNestedTypes(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasNestedTypes(This,pRetVal) )
+
+#define IDiaSymbol2_get_hasAssignmentOperator(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasAssignmentOperator(This,pRetVal) )
+
+#define IDiaSymbol2_get_hasCastOperator(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasCastOperator(This,pRetVal) )
+
+#define IDiaSymbol2_get_scoped(This,pRetVal) \
+ ( (This)->lpVtbl -> get_scoped(This,pRetVal) )
+
+#define IDiaSymbol2_get_virtualBaseClass(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseClass(This,pRetVal) )
+
+#define IDiaSymbol2_get_indirectVirtualBaseClass(This,pRetVal) \
+ ( (This)->lpVtbl -> get_indirectVirtualBaseClass(This,pRetVal) )
+
+#define IDiaSymbol2_get_virtualBasePointerOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBasePointerOffset(This,pRetVal) )
+
+#define IDiaSymbol2_get_virtualTableShape(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualTableShape(This,pRetVal) )
+
+#define IDiaSymbol2_get_lexicalParentId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lexicalParentId(This,pRetVal) )
+
+#define IDiaSymbol2_get_classParentId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_classParentId(This,pRetVal) )
+
+#define IDiaSymbol2_get_typeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_typeId(This,pRetVal) )
+
+#define IDiaSymbol2_get_arrayIndexTypeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_arrayIndexTypeId(This,pRetVal) )
+
+#define IDiaSymbol2_get_virtualTableShapeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualTableShapeId(This,pRetVal) )
+
+#define IDiaSymbol2_get_code(This,pRetVal) \
+ ( (This)->lpVtbl -> get_code(This,pRetVal) )
+
+#define IDiaSymbol2_get_function(This,pRetVal) \
+ ( (This)->lpVtbl -> get_function(This,pRetVal) )
+
+#define IDiaSymbol2_get_managed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_managed(This,pRetVal) )
+
+#define IDiaSymbol2_get_msil(This,pRetVal) \
+ ( (This)->lpVtbl -> get_msil(This,pRetVal) )
+
+#define IDiaSymbol2_get_virtualBaseDispIndex(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseDispIndex(This,pRetVal) )
+
+#define IDiaSymbol2_get_undecoratedName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_undecoratedName(This,pRetVal) )
+
+#define IDiaSymbol2_get_age(This,pRetVal) \
+ ( (This)->lpVtbl -> get_age(This,pRetVal) )
+
+#define IDiaSymbol2_get_signature(This,pRetVal) \
+ ( (This)->lpVtbl -> get_signature(This,pRetVal) )
+
+#define IDiaSymbol2_get_compilerGenerated(This,pRetVal) \
+ ( (This)->lpVtbl -> get_compilerGenerated(This,pRetVal) )
+
+#define IDiaSymbol2_get_addressTaken(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressTaken(This,pRetVal) )
+
+#define IDiaSymbol2_get_rank(This,pRetVal) \
+ ( (This)->lpVtbl -> get_rank(This,pRetVal) )
+
+#define IDiaSymbol2_get_lowerBound(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lowerBound(This,pRetVal) )
+
+#define IDiaSymbol2_get_upperBound(This,pRetVal) \
+ ( (This)->lpVtbl -> get_upperBound(This,pRetVal) )
+
+#define IDiaSymbol2_get_lowerBoundId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lowerBoundId(This,pRetVal) )
+
+#define IDiaSymbol2_get_upperBoundId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_upperBoundId(This,pRetVal) )
+
+#define IDiaSymbol2_get_dataBytes(This,cbData,pcbData,pbData) \
+ ( (This)->lpVtbl -> get_dataBytes(This,cbData,pcbData,pbData) )
+
+#define IDiaSymbol2_findChildren(This,symtag,name,compareFlags,ppResult) \
+ ( (This)->lpVtbl -> findChildren(This,symtag,name,compareFlags,ppResult) )
+
+#define IDiaSymbol2_findChildrenEx(This,symtag,name,compareFlags,ppResult) \
+ ( (This)->lpVtbl -> findChildrenEx(This,symtag,name,compareFlags,ppResult) )
+
+#define IDiaSymbol2_findChildrenExByAddr(This,symtag,name,compareFlags,isect,offset,ppResult) \
+ ( (This)->lpVtbl -> findChildrenExByAddr(This,symtag,name,compareFlags,isect,offset,ppResult) )
+
+#define IDiaSymbol2_findChildrenExByVA(This,symtag,name,compareFlags,va,ppResult) \
+ ( (This)->lpVtbl -> findChildrenExByVA(This,symtag,name,compareFlags,va,ppResult) )
+
+#define IDiaSymbol2_findChildrenExByRVA(This,symtag,name,compareFlags,rva,ppResult) \
+ ( (This)->lpVtbl -> findChildrenExByRVA(This,symtag,name,compareFlags,rva,ppResult) )
+
+#define IDiaSymbol2_get_targetSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetSection(This,pRetVal) )
+
+#define IDiaSymbol2_get_targetOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetOffset(This,pRetVal) )
+
+#define IDiaSymbol2_get_targetRelativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetRelativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol2_get_targetVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol2_get_machineType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_machineType(This,pRetVal) )
+
+#define IDiaSymbol2_get_oemId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_oemId(This,pRetVal) )
+
+#define IDiaSymbol2_get_oemSymbolId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_oemSymbolId(This,pRetVal) )
+
+#define IDiaSymbol2_get_types(This,cTypes,pcTypes,pTypes) \
+ ( (This)->lpVtbl -> get_types(This,cTypes,pcTypes,pTypes) )
+
+#define IDiaSymbol2_get_typeIds(This,cTypeIds,pcTypeIds,pdwTypeIds) \
+ ( (This)->lpVtbl -> get_typeIds(This,cTypeIds,pcTypeIds,pdwTypeIds) )
+
+#define IDiaSymbol2_get_objectPointerType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_objectPointerType(This,pRetVal) )
+
+#define IDiaSymbol2_get_udtKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_udtKind(This,pRetVal) )
+
+#define IDiaSymbol2_get_undecoratedNameEx(This,undecorateOptions,name) \
+ ( (This)->lpVtbl -> get_undecoratedNameEx(This,undecorateOptions,name) )
+
+#define IDiaSymbol2_get_noReturn(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noReturn(This,pRetVal) )
+
+#define IDiaSymbol2_get_customCallingConvention(This,pRetVal) \
+ ( (This)->lpVtbl -> get_customCallingConvention(This,pRetVal) )
+
+#define IDiaSymbol2_get_noInline(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noInline(This,pRetVal) )
+
+#define IDiaSymbol2_get_optimizedCodeDebugInfo(This,pRetVal) \
+ ( (This)->lpVtbl -> get_optimizedCodeDebugInfo(This,pRetVal) )
+
+#define IDiaSymbol2_get_notReached(This,pRetVal) \
+ ( (This)->lpVtbl -> get_notReached(This,pRetVal) )
+
+#define IDiaSymbol2_get_interruptReturn(This,pRetVal) \
+ ( (This)->lpVtbl -> get_interruptReturn(This,pRetVal) )
+
+#define IDiaSymbol2_get_farReturn(This,pRetVal) \
+ ( (This)->lpVtbl -> get_farReturn(This,pRetVal) )
+
+#define IDiaSymbol2_get_isStatic(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isStatic(This,pRetVal) )
+
+#define IDiaSymbol2_get_hasDebugInfo(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasDebugInfo(This,pRetVal) )
+
+#define IDiaSymbol2_get_isLTCG(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isLTCG(This,pRetVal) )
+
+#define IDiaSymbol2_get_isDataAligned(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isDataAligned(This,pRetVal) )
+
+#define IDiaSymbol2_get_hasSecurityChecks(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasSecurityChecks(This,pRetVal) )
+
+#define IDiaSymbol2_get_compilerName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_compilerName(This,pRetVal) )
+
+#define IDiaSymbol2_get_hasAlloca(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasAlloca(This,pRetVal) )
+
+#define IDiaSymbol2_get_hasSetJump(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasSetJump(This,pRetVal) )
+
+#define IDiaSymbol2_get_hasLongJump(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasLongJump(This,pRetVal) )
+
+#define IDiaSymbol2_get_hasInlAsm(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasInlAsm(This,pRetVal) )
+
+#define IDiaSymbol2_get_hasEH(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasEH(This,pRetVal) )
+
+#define IDiaSymbol2_get_hasSEH(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasSEH(This,pRetVal) )
+
+#define IDiaSymbol2_get_hasEHa(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasEHa(This,pRetVal) )
+
+#define IDiaSymbol2_get_isNaked(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isNaked(This,pRetVal) )
+
+#define IDiaSymbol2_get_isAggregated(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAggregated(This,pRetVal) )
+
+#define IDiaSymbol2_get_isSplitted(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSplitted(This,pRetVal) )
+
+#define IDiaSymbol2_get_container(This,pRetVal) \
+ ( (This)->lpVtbl -> get_container(This,pRetVal) )
+
+#define IDiaSymbol2_get_inlSpec(This,pRetVal) \
+ ( (This)->lpVtbl -> get_inlSpec(This,pRetVal) )
+
+#define IDiaSymbol2_get_noStackOrdering(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noStackOrdering(This,pRetVal) )
+
+#define IDiaSymbol2_get_virtualBaseTableType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseTableType(This,pRetVal) )
+
+#define IDiaSymbol2_get_hasManagedCode(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasManagedCode(This,pRetVal) )
+
+#define IDiaSymbol2_get_isHotpatchable(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isHotpatchable(This,pRetVal) )
+
+#define IDiaSymbol2_get_isCVTCIL(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isCVTCIL(This,pRetVal) )
+
+#define IDiaSymbol2_get_isMSILNetmodule(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isMSILNetmodule(This,pRetVal) )
+
+#define IDiaSymbol2_get_isCTypes(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isCTypes(This,pRetVal) )
+
+#define IDiaSymbol2_get_isStripped(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isStripped(This,pRetVal) )
+
+#define IDiaSymbol2_get_frontEndQFE(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndQFE(This,pRetVal) )
+
+#define IDiaSymbol2_get_backEndQFE(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndQFE(This,pRetVal) )
+
+#define IDiaSymbol2_get_wasInlined(This,pRetVal) \
+ ( (This)->lpVtbl -> get_wasInlined(This,pRetVal) )
+
+#define IDiaSymbol2_get_strictGSCheck(This,pRetVal) \
+ ( (This)->lpVtbl -> get_strictGSCheck(This,pRetVal) )
+
+#define IDiaSymbol2_get_isCxxReturnUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isCxxReturnUdt(This,pRetVal) )
+
+#define IDiaSymbol2_get_isConstructorVirtualBase(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isConstructorVirtualBase(This,pRetVal) )
+
+#define IDiaSymbol2_get_RValueReference(This,pRetVal) \
+ ( (This)->lpVtbl -> get_RValueReference(This,pRetVal) )
+
+#define IDiaSymbol2_get_unmodifiedType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unmodifiedType(This,pRetVal) )
+
+#define IDiaSymbol2_get_framePointerPresent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_framePointerPresent(This,pRetVal) )
+
+#define IDiaSymbol2_get_isSafeBuffers(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSafeBuffers(This,pRetVal) )
+
+#define IDiaSymbol2_get_intrinsic(This,pRetVal) \
+ ( (This)->lpVtbl -> get_intrinsic(This,pRetVal) )
+
+#define IDiaSymbol2_get_sealed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_sealed(This,pRetVal) )
+
+#define IDiaSymbol2_get_hfaFloat(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hfaFloat(This,pRetVal) )
+
+#define IDiaSymbol2_get_hfaDouble(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hfaDouble(This,pRetVal) )
+
+#define IDiaSymbol2_get_liveRangeStartAddressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeStartAddressSection(This,pRetVal) )
+
+#define IDiaSymbol2_get_liveRangeStartAddressOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeStartAddressOffset(This,pRetVal) )
+
+#define IDiaSymbol2_get_liveRangeStartRelativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeStartRelativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol2_get_countLiveRanges(This,pRetVal) \
+ ( (This)->lpVtbl -> get_countLiveRanges(This,pRetVal) )
+
+#define IDiaSymbol2_get_liveRangeLength(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeLength(This,pRetVal) )
+
+#define IDiaSymbol2_get_offsetInUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_offsetInUdt(This,pRetVal) )
+
+#define IDiaSymbol2_get_paramBasePointerRegisterId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_paramBasePointerRegisterId(This,pRetVal) )
+
+#define IDiaSymbol2_get_localBasePointerRegisterId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_localBasePointerRegisterId(This,pRetVal) )
+
+#define IDiaSymbol2_get_isLocationControlFlowDependent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isLocationControlFlowDependent(This,pRetVal) )
+
+#define IDiaSymbol2_get_stride(This,pRetVal) \
+ ( (This)->lpVtbl -> get_stride(This,pRetVal) )
+
+#define IDiaSymbol2_get_numberOfRows(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfRows(This,pRetVal) )
+
+#define IDiaSymbol2_get_numberOfColumns(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfColumns(This,pRetVal) )
+
+#define IDiaSymbol2_get_isMatrixRowMajor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isMatrixRowMajor(This,pRetVal) )
+
+#define IDiaSymbol2_get_numericProperties(This,cnt,pcnt,pProperties) \
+ ( (This)->lpVtbl -> get_numericProperties(This,cnt,pcnt,pProperties) )
+
+#define IDiaSymbol2_get_modifierValues(This,cnt,pcnt,pModifiers) \
+ ( (This)->lpVtbl -> get_modifierValues(This,cnt,pcnt,pModifiers) )
+
+#define IDiaSymbol2_get_isReturnValue(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isReturnValue(This,pRetVal) )
+
+#define IDiaSymbol2_get_isOptimizedAway(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isOptimizedAway(This,pRetVal) )
+
+#define IDiaSymbol2_get_builtInKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_builtInKind(This,pRetVal) )
+
+#define IDiaSymbol2_get_registerType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_registerType(This,pRetVal) )
+
+#define IDiaSymbol2_get_baseDataSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseDataSlot(This,pRetVal) )
+
+#define IDiaSymbol2_get_baseDataOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseDataOffset(This,pRetVal) )
+
+#define IDiaSymbol2_get_textureSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_textureSlot(This,pRetVal) )
+
+#define IDiaSymbol2_get_samplerSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_samplerSlot(This,pRetVal) )
+
+#define IDiaSymbol2_get_uavSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_uavSlot(This,pRetVal) )
+
+#define IDiaSymbol2_get_sizeInUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_sizeInUdt(This,pRetVal) )
+
+#define IDiaSymbol2_get_memorySpaceKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_memorySpaceKind(This,pRetVal) )
+
+#define IDiaSymbol2_get_unmodifiedTypeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unmodifiedTypeId(This,pRetVal) )
+
+#define IDiaSymbol2_get_subTypeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_subTypeId(This,pRetVal) )
+
+#define IDiaSymbol2_get_subType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_subType(This,pRetVal) )
+
+#define IDiaSymbol2_get_numberOfModifiers(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfModifiers(This,pRetVal) )
+
+#define IDiaSymbol2_get_numberOfRegisterIndices(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfRegisterIndices(This,pRetVal) )
+
+#define IDiaSymbol2_get_isHLSLData(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isHLSLData(This,pRetVal) )
+
+#define IDiaSymbol2_get_isPointerToDataMember(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPointerToDataMember(This,pRetVal) )
+
+#define IDiaSymbol2_get_isPointerToMemberFunction(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPointerToMemberFunction(This,pRetVal) )
+
+#define IDiaSymbol2_get_isSingleInheritance(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSingleInheritance(This,pRetVal) )
+
+#define IDiaSymbol2_get_isMultipleInheritance(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isMultipleInheritance(This,pRetVal) )
+
+#define IDiaSymbol2_get_isVirtualInheritance(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isVirtualInheritance(This,pRetVal) )
+
+#define IDiaSymbol2_get_restrictedType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_restrictedType(This,pRetVal) )
+
+#define IDiaSymbol2_get_isPointerBasedOnSymbolValue(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPointerBasedOnSymbolValue(This,pRetVal) )
+
+#define IDiaSymbol2_get_baseSymbol(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseSymbol(This,pRetVal) )
+
+#define IDiaSymbol2_get_baseSymbolId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseSymbolId(This,pRetVal) )
+
+#define IDiaSymbol2_get_objectFileName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_objectFileName(This,pRetVal) )
+
+#define IDiaSymbol2_get_isAcceleratorGroupSharedLocal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAcceleratorGroupSharedLocal(This,pRetVal) )
+
+#define IDiaSymbol2_get_isAcceleratorPointerTagLiveRange(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAcceleratorPointerTagLiveRange(This,pRetVal) )
+
+#define IDiaSymbol2_get_isAcceleratorStubFunction(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAcceleratorStubFunction(This,pRetVal) )
+
+#define IDiaSymbol2_get_numberOfAcceleratorPointerTags(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfAcceleratorPointerTags(This,pRetVal) )
+
+#define IDiaSymbol2_get_isSdl(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSdl(This,pRetVal) )
+
+#define IDiaSymbol2_get_isWinRTPointer(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isWinRTPointer(This,pRetVal) )
+
+#define IDiaSymbol2_get_isRefUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isRefUdt(This,pRetVal) )
+
+#define IDiaSymbol2_get_isValueUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isValueUdt(This,pRetVal) )
+
+#define IDiaSymbol2_get_isInterfaceUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isInterfaceUdt(This,pRetVal) )
+
+#define IDiaSymbol2_findInlineFramesByAddr(This,isect,offset,ppResult) \
+ ( (This)->lpVtbl -> findInlineFramesByAddr(This,isect,offset,ppResult) )
+
+#define IDiaSymbol2_findInlineFramesByRVA(This,rva,ppResult) \
+ ( (This)->lpVtbl -> findInlineFramesByRVA(This,rva,ppResult) )
+
+#define IDiaSymbol2_findInlineFramesByVA(This,va,ppResult) \
+ ( (This)->lpVtbl -> findInlineFramesByVA(This,va,ppResult) )
+
+#define IDiaSymbol2_findInlineeLines(This,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLines(This,ppResult) )
+
+#define IDiaSymbol2_findInlineeLinesByAddr(This,isect,offset,length,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByAddr(This,isect,offset,length,ppResult) )
+
+#define IDiaSymbol2_findInlineeLinesByRVA(This,rva,length,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByRVA(This,rva,length,ppResult) )
+
+#define IDiaSymbol2_findInlineeLinesByVA(This,va,length,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByVA(This,va,length,ppResult) )
+
+#define IDiaSymbol2_findSymbolsForAcceleratorPointerTag(This,tagValue,ppResult) \
+ ( (This)->lpVtbl -> findSymbolsForAcceleratorPointerTag(This,tagValue,ppResult) )
+
+#define IDiaSymbol2_findSymbolsByRVAForAcceleratorPointerTag(This,tagValue,rva,ppResult) \
+ ( (This)->lpVtbl -> findSymbolsByRVAForAcceleratorPointerTag(This,tagValue,rva,ppResult) )
+
+#define IDiaSymbol2_get_acceleratorPointerTags(This,cnt,pcnt,pPointerTags) \
+ ( (This)->lpVtbl -> get_acceleratorPointerTags(This,cnt,pcnt,pPointerTags) )
+
+#define IDiaSymbol2_getSrcLineOnTypeDefn(This,ppResult) \
+ ( (This)->lpVtbl -> getSrcLineOnTypeDefn(This,ppResult) )
+
+#define IDiaSymbol2_get_isPGO(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPGO(This,pRetVal) )
+
+#define IDiaSymbol2_get_hasValidPGOCounts(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasValidPGOCounts(This,pRetVal) )
+
+#define IDiaSymbol2_get_isOptimizedForSpeed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isOptimizedForSpeed(This,pRetVal) )
+
+#define IDiaSymbol2_get_PGOEntryCount(This,pRetVal) \
+ ( (This)->lpVtbl -> get_PGOEntryCount(This,pRetVal) )
+
+#define IDiaSymbol2_get_PGOEdgeCount(This,pRetVal) \
+ ( (This)->lpVtbl -> get_PGOEdgeCount(This,pRetVal) )
+
+#define IDiaSymbol2_get_PGODynamicInstructionCount(This,pRetVal) \
+ ( (This)->lpVtbl -> get_PGODynamicInstructionCount(This,pRetVal) )
+
+#define IDiaSymbol2_get_staticSize(This,pRetVal) \
+ ( (This)->lpVtbl -> get_staticSize(This,pRetVal) )
+
+#define IDiaSymbol2_get_finalLiveStaticSize(This,pRetVal) \
+ ( (This)->lpVtbl -> get_finalLiveStaticSize(This,pRetVal) )
+
+#define IDiaSymbol2_get_phaseName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_phaseName(This,pRetVal) )
+
+#define IDiaSymbol2_get_hasControlFlowCheck(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasControlFlowCheck(This,pRetVal) )
+
+#define IDiaSymbol2_get_constantExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_constantExport(This,pRetVal) )
+
+#define IDiaSymbol2_get_dataExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_dataExport(This,pRetVal) )
+
+#define IDiaSymbol2_get_privateExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_privateExport(This,pRetVal) )
+
+#define IDiaSymbol2_get_noNameExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noNameExport(This,pRetVal) )
+
+#define IDiaSymbol2_get_exportHasExplicitlyAssignedOrdinal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exportHasExplicitlyAssignedOrdinal(This,pRetVal) )
+
+#define IDiaSymbol2_get_exportIsForwarder(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exportIsForwarder(This,pRetVal) )
+
+#define IDiaSymbol2_get_ordinal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_ordinal(This,pRetVal) )
+
+#define IDiaSymbol2_get_frameSize(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frameSize(This,pRetVal) )
+
+#define IDiaSymbol2_get_exceptionHandlerAddressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerAddressSection(This,pRetVal) )
+
+#define IDiaSymbol2_get_exceptionHandlerAddressOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerAddressOffset(This,pRetVal) )
+
+#define IDiaSymbol2_get_exceptionHandlerRelativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerRelativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol2_get_exceptionHandlerVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol2_findInputAssemblyFile(This,ppResult) \
+ ( (This)->lpVtbl -> findInputAssemblyFile(This,ppResult) )
+
+#define IDiaSymbol2_get_characteristics(This,pRetVal) \
+ ( (This)->lpVtbl -> get_characteristics(This,pRetVal) )
+
+#define IDiaSymbol2_get_coffGroup(This,pRetVal) \
+ ( (This)->lpVtbl -> get_coffGroup(This,pRetVal) )
+
+#define IDiaSymbol2_get_bindID(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bindID(This,pRetVal) )
+
+#define IDiaSymbol2_get_bindSpace(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bindSpace(This,pRetVal) )
+
+#define IDiaSymbol2_get_bindSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bindSlot(This,pRetVal) )
+
+
+#define IDiaSymbol2_get_isObjCClass(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isObjCClass(This,pRetVal) )
+
+#define IDiaSymbol2_get_isObjCCategory(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isObjCCategory(This,pRetVal) )
+
+#define IDiaSymbol2_get_isObjCProtocol(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isObjCProtocol(This,pRetVal) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol2_get_isObjCClass_Proxy(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol2_get_isObjCClass_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol2_get_isObjCCategory_Proxy(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol2_get_isObjCCategory_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol2_get_isObjCProtocol_Proxy(
+ IDiaSymbol2 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol2_get_isObjCProtocol_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDiaSymbol2_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaSymbol3_INTERFACE_DEFINED__
+#define __IDiaSymbol3_INTERFACE_DEFINED__
+
+/* interface IDiaSymbol3 */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaSymbol3;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("99b665f7-c1b2-49d3-89b2-a384361acab5")
+ IDiaSymbol3 : public IDiaSymbol2
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_inlinee(
+ /* [retval][out] */ IDiaSymbol **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_inlineeId(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaSymbol3Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaSymbol3 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaSymbol3 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaSymbol3 * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symIndexId )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symTag )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lexicalParent )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_classParent )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataKind )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_locationType )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressOffset )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerId )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offset )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_slot )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_volatileType )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constType )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unalignedType )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_access )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_libraryName )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_platform )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_language )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_editAndContinueEnabled )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndMajor )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndMinor )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndBuild )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndMajor )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndMinor )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndBuild )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sourceFileName )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unused )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_thunkOrdinal )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_thisAdjust )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseOffset )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtual )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_intro )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pure )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_callingConvention )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ VARIANT *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseType )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_token )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_timeStamp )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_guid )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ GUID *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symbolsFileName )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_reference )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_count )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bitPosition )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_arrayIndexType )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_packed )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constructor )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_overloadedOperator )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nested )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasNestedTypes )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasAssignmentOperator )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasCastOperator )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scoped )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseClass )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_indirectVirtualBaseClass )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBasePointerOffset )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualTableShape )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lexicalParentId )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_classParentId )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_typeId )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_arrayIndexTypeId )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualTableShapeId )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_code )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_function )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_managed )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msil )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseDispIndex )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_undecoratedName )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_age )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_signature )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilerGenerated )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressTaken )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rank )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowerBound )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_upperBound )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowerBoundId )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_upperBoundId )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_dataBytes )(
+ IDiaSymbol3 * This,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildren )(
+ IDiaSymbol3 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenEx )(
+ IDiaSymbol3 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenExByAddr )(
+ IDiaSymbol3 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenExByVA )(
+ IDiaSymbol3 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenExByRVA )(
+ IDiaSymbol3 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetSection )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetOffset )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetRelativeVirtualAddress )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVirtualAddress )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_machineType )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oemId )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oemSymbolId )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_types )(
+ IDiaSymbol3 * This,
+ /* [in] */ DWORD cTypes,
+ /* [out] */ DWORD *pcTypes,
+ /* [size_is][size_is][out] */ IDiaSymbol **pTypes);
+
+ HRESULT ( STDMETHODCALLTYPE *get_typeIds )(
+ IDiaSymbol3 * This,
+ /* [in] */ DWORD cTypeIds,
+ /* [out] */ DWORD *pcTypeIds,
+ /* [size_is][out] */ DWORD *pdwTypeIds);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_objectPointerType )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_udtKind )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_undecoratedNameEx )(
+ IDiaSymbol3 * This,
+ /* [in] */ DWORD undecorateOptions,
+ /* [out] */ BSTR *name);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noReturn )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_customCallingConvention )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noInline )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_optimizedCodeDebugInfo )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_notReached )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_interruptReturn )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_farReturn )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isStatic )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasDebugInfo )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isLTCG )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isDataAligned )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasSecurityChecks )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilerName )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasAlloca )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasSetJump )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasLongJump )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasInlAsm )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasEH )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasSEH )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasEHa )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isNaked )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAggregated )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSplitted )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_container )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_inlSpec )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noStackOrdering )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseTableType )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasManagedCode )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isHotpatchable )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCVTCIL )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMSILNetmodule )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCTypes )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isStripped )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndQFE )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndQFE )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_wasInlined )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_strictGSCheck )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCxxReturnUdt )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isConstructorVirtualBase )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RValueReference )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unmodifiedType )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_framePointerPresent )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSafeBuffers )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_intrinsic )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sealed )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hfaFloat )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hfaDouble )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeStartAddressSection )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeStartAddressOffset )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeStartRelativeVirtualAddress )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_countLiveRanges )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeLength )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetInUdt )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_paramBasePointerRegisterId )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_localBasePointerRegisterId )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isLocationControlFlowDependent )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_stride )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfRows )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfColumns )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMatrixRowMajor )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_numericProperties )(
+ IDiaSymbol3 * This,
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ DWORD *pProperties);
+
+ HRESULT ( STDMETHODCALLTYPE *get_modifierValues )(
+ IDiaSymbol3 * This,
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ WORD *pModifiers);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isReturnValue )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isOptimizedAway )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_builtInKind )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerType )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseDataSlot )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseDataOffset )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textureSlot )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_samplerSlot )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_uavSlot )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sizeInUdt )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_memorySpaceKind )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unmodifiedTypeId )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_subTypeId )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_subType )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfModifiers )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfRegisterIndices )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isHLSLData )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPointerToDataMember )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPointerToMemberFunction )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSingleInheritance )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMultipleInheritance )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isVirtualInheritance )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_restrictedType )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPointerBasedOnSymbolValue )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseSymbol )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseSymbolId )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_objectFileName )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAcceleratorGroupSharedLocal )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAcceleratorPointerTagLiveRange )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAcceleratorStubFunction )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfAcceleratorPointerTags )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSdl )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isWinRTPointer )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRefUdt )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isValueUdt )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isInterfaceUdt )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineFramesByAddr )(
+ IDiaSymbol3 * This,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineFramesByRVA )(
+ IDiaSymbol3 * This,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineFramesByVA )(
+ IDiaSymbol3 * This,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLines )(
+ IDiaSymbol3 * This,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByAddr )(
+ IDiaSymbol3 * This,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByRVA )(
+ IDiaSymbol3 * This,
+ /* [in] */ DWORD rva,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByVA )(
+ IDiaSymbol3 * This,
+ /* [in] */ ULONGLONG va,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findSymbolsForAcceleratorPointerTag )(
+ IDiaSymbol3 * This,
+ /* [in] */ DWORD tagValue,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findSymbolsByRVAForAcceleratorPointerTag )(
+ IDiaSymbol3 * This,
+ /* [in] */ DWORD tagValue,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *get_acceleratorPointerTags )(
+ IDiaSymbol3 * This,
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ DWORD *pPointerTags);
+
+ HRESULT ( STDMETHODCALLTYPE *getSrcLineOnTypeDefn )(
+ IDiaSymbol3 * This,
+ /* [out] */ IDiaLineNumber **ppResult);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPGO )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasValidPGOCounts )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isOptimizedForSpeed )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PGOEntryCount )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PGOEdgeCount )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PGODynamicInstructionCount )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_staticSize )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_finalLiveStaticSize )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_phaseName )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasControlFlowCheck )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constantExport )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataExport )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_privateExport )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noNameExport )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exportHasExplicitlyAssignedOrdinal )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exportIsForwarder )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ordinal )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frameSize )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerAddressSection )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerAddressOffset )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerRelativeVirtualAddress )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerVirtualAddress )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *findInputAssemblyFile )(
+ IDiaSymbol3 * This,
+ /* [out] */ IDiaInputAssemblyFile **ppResult);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_characteristics )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_coffGroup )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bindID )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bindSpace )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bindSlot )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isObjCClass )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isObjCCategory )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isObjCProtocol )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_inlinee )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_inlineeId )(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ END_INTERFACE
+ } IDiaSymbol3Vtbl;
+
+ interface IDiaSymbol3
+ {
+ CONST_VTBL struct IDiaSymbol3Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaSymbol3_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaSymbol3_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaSymbol3_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaSymbol3_get_symIndexId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_symIndexId(This,pRetVal) )
+
+#define IDiaSymbol3_get_symTag(This,pRetVal) \
+ ( (This)->lpVtbl -> get_symTag(This,pRetVal) )
+
+#define IDiaSymbol3_get_name(This,pRetVal) \
+ ( (This)->lpVtbl -> get_name(This,pRetVal) )
+
+#define IDiaSymbol3_get_lexicalParent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lexicalParent(This,pRetVal) )
+
+#define IDiaSymbol3_get_classParent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_classParent(This,pRetVal) )
+
+#define IDiaSymbol3_get_type(This,pRetVal) \
+ ( (This)->lpVtbl -> get_type(This,pRetVal) )
+
+#define IDiaSymbol3_get_dataKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_dataKind(This,pRetVal) )
+
+#define IDiaSymbol3_get_locationType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_locationType(This,pRetVal) )
+
+#define IDiaSymbol3_get_addressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressSection(This,pRetVal) )
+
+#define IDiaSymbol3_get_addressOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressOffset(This,pRetVal) )
+
+#define IDiaSymbol3_get_relativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol3_get_virtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualAddress(This,pRetVal) )
+
+#define IDiaSymbol3_get_registerId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_registerId(This,pRetVal) )
+
+#define IDiaSymbol3_get_offset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_offset(This,pRetVal) )
+
+#define IDiaSymbol3_get_length(This,pRetVal) \
+ ( (This)->lpVtbl -> get_length(This,pRetVal) )
+
+#define IDiaSymbol3_get_slot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_slot(This,pRetVal) )
+
+#define IDiaSymbol3_get_volatileType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_volatileType(This,pRetVal) )
+
+#define IDiaSymbol3_get_constType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_constType(This,pRetVal) )
+
+#define IDiaSymbol3_get_unalignedType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unalignedType(This,pRetVal) )
+
+#define IDiaSymbol3_get_access(This,pRetVal) \
+ ( (This)->lpVtbl -> get_access(This,pRetVal) )
+
+#define IDiaSymbol3_get_libraryName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_libraryName(This,pRetVal) )
+
+#define IDiaSymbol3_get_platform(This,pRetVal) \
+ ( (This)->lpVtbl -> get_platform(This,pRetVal) )
+
+#define IDiaSymbol3_get_language(This,pRetVal) \
+ ( (This)->lpVtbl -> get_language(This,pRetVal) )
+
+#define IDiaSymbol3_get_editAndContinueEnabled(This,pRetVal) \
+ ( (This)->lpVtbl -> get_editAndContinueEnabled(This,pRetVal) )
+
+#define IDiaSymbol3_get_frontEndMajor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndMajor(This,pRetVal) )
+
+#define IDiaSymbol3_get_frontEndMinor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndMinor(This,pRetVal) )
+
+#define IDiaSymbol3_get_frontEndBuild(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndBuild(This,pRetVal) )
+
+#define IDiaSymbol3_get_backEndMajor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndMajor(This,pRetVal) )
+
+#define IDiaSymbol3_get_backEndMinor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndMinor(This,pRetVal) )
+
+#define IDiaSymbol3_get_backEndBuild(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndBuild(This,pRetVal) )
+
+#define IDiaSymbol3_get_sourceFileName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_sourceFileName(This,pRetVal) )
+
+#define IDiaSymbol3_get_unused(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unused(This,pRetVal) )
+
+#define IDiaSymbol3_get_thunkOrdinal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_thunkOrdinal(This,pRetVal) )
+
+#define IDiaSymbol3_get_thisAdjust(This,pRetVal) \
+ ( (This)->lpVtbl -> get_thisAdjust(This,pRetVal) )
+
+#define IDiaSymbol3_get_virtualBaseOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseOffset(This,pRetVal) )
+
+#define IDiaSymbol3_get_virtual(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtual(This,pRetVal) )
+
+#define IDiaSymbol3_get_intro(This,pRetVal) \
+ ( (This)->lpVtbl -> get_intro(This,pRetVal) )
+
+#define IDiaSymbol3_get_pure(This,pRetVal) \
+ ( (This)->lpVtbl -> get_pure(This,pRetVal) )
+
+#define IDiaSymbol3_get_callingConvention(This,pRetVal) \
+ ( (This)->lpVtbl -> get_callingConvention(This,pRetVal) )
+
+#define IDiaSymbol3_get_value(This,pRetVal) \
+ ( (This)->lpVtbl -> get_value(This,pRetVal) )
+
+#define IDiaSymbol3_get_baseType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseType(This,pRetVal) )
+
+#define IDiaSymbol3_get_token(This,pRetVal) \
+ ( (This)->lpVtbl -> get_token(This,pRetVal) )
+
+#define IDiaSymbol3_get_timeStamp(This,pRetVal) \
+ ( (This)->lpVtbl -> get_timeStamp(This,pRetVal) )
+
+#define IDiaSymbol3_get_guid(This,pRetVal) \
+ ( (This)->lpVtbl -> get_guid(This,pRetVal) )
+
+#define IDiaSymbol3_get_symbolsFileName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_symbolsFileName(This,pRetVal) )
+
+#define IDiaSymbol3_get_reference(This,pRetVal) \
+ ( (This)->lpVtbl -> get_reference(This,pRetVal) )
+
+#define IDiaSymbol3_get_count(This,pRetVal) \
+ ( (This)->lpVtbl -> get_count(This,pRetVal) )
+
+#define IDiaSymbol3_get_bitPosition(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bitPosition(This,pRetVal) )
+
+#define IDiaSymbol3_get_arrayIndexType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_arrayIndexType(This,pRetVal) )
+
+#define IDiaSymbol3_get_packed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_packed(This,pRetVal) )
+
+#define IDiaSymbol3_get_constructor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_constructor(This,pRetVal) )
+
+#define IDiaSymbol3_get_overloadedOperator(This,pRetVal) \
+ ( (This)->lpVtbl -> get_overloadedOperator(This,pRetVal) )
+
+#define IDiaSymbol3_get_nested(This,pRetVal) \
+ ( (This)->lpVtbl -> get_nested(This,pRetVal) )
+
+#define IDiaSymbol3_get_hasNestedTypes(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasNestedTypes(This,pRetVal) )
+
+#define IDiaSymbol3_get_hasAssignmentOperator(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasAssignmentOperator(This,pRetVal) )
+
+#define IDiaSymbol3_get_hasCastOperator(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasCastOperator(This,pRetVal) )
+
+#define IDiaSymbol3_get_scoped(This,pRetVal) \
+ ( (This)->lpVtbl -> get_scoped(This,pRetVal) )
+
+#define IDiaSymbol3_get_virtualBaseClass(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseClass(This,pRetVal) )
+
+#define IDiaSymbol3_get_indirectVirtualBaseClass(This,pRetVal) \
+ ( (This)->lpVtbl -> get_indirectVirtualBaseClass(This,pRetVal) )
+
+#define IDiaSymbol3_get_virtualBasePointerOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBasePointerOffset(This,pRetVal) )
+
+#define IDiaSymbol3_get_virtualTableShape(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualTableShape(This,pRetVal) )
+
+#define IDiaSymbol3_get_lexicalParentId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lexicalParentId(This,pRetVal) )
+
+#define IDiaSymbol3_get_classParentId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_classParentId(This,pRetVal) )
+
+#define IDiaSymbol3_get_typeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_typeId(This,pRetVal) )
+
+#define IDiaSymbol3_get_arrayIndexTypeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_arrayIndexTypeId(This,pRetVal) )
+
+#define IDiaSymbol3_get_virtualTableShapeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualTableShapeId(This,pRetVal) )
+
+#define IDiaSymbol3_get_code(This,pRetVal) \
+ ( (This)->lpVtbl -> get_code(This,pRetVal) )
+
+#define IDiaSymbol3_get_function(This,pRetVal) \
+ ( (This)->lpVtbl -> get_function(This,pRetVal) )
+
+#define IDiaSymbol3_get_managed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_managed(This,pRetVal) )
+
+#define IDiaSymbol3_get_msil(This,pRetVal) \
+ ( (This)->lpVtbl -> get_msil(This,pRetVal) )
+
+#define IDiaSymbol3_get_virtualBaseDispIndex(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseDispIndex(This,pRetVal) )
+
+#define IDiaSymbol3_get_undecoratedName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_undecoratedName(This,pRetVal) )
+
+#define IDiaSymbol3_get_age(This,pRetVal) \
+ ( (This)->lpVtbl -> get_age(This,pRetVal) )
+
+#define IDiaSymbol3_get_signature(This,pRetVal) \
+ ( (This)->lpVtbl -> get_signature(This,pRetVal) )
+
+#define IDiaSymbol3_get_compilerGenerated(This,pRetVal) \
+ ( (This)->lpVtbl -> get_compilerGenerated(This,pRetVal) )
+
+#define IDiaSymbol3_get_addressTaken(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressTaken(This,pRetVal) )
+
+#define IDiaSymbol3_get_rank(This,pRetVal) \
+ ( (This)->lpVtbl -> get_rank(This,pRetVal) )
+
+#define IDiaSymbol3_get_lowerBound(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lowerBound(This,pRetVal) )
+
+#define IDiaSymbol3_get_upperBound(This,pRetVal) \
+ ( (This)->lpVtbl -> get_upperBound(This,pRetVal) )
+
+#define IDiaSymbol3_get_lowerBoundId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lowerBoundId(This,pRetVal) )
+
+#define IDiaSymbol3_get_upperBoundId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_upperBoundId(This,pRetVal) )
+
+#define IDiaSymbol3_get_dataBytes(This,cbData,pcbData,pbData) \
+ ( (This)->lpVtbl -> get_dataBytes(This,cbData,pcbData,pbData) )
+
+#define IDiaSymbol3_findChildren(This,symtag,name,compareFlags,ppResult) \
+ ( (This)->lpVtbl -> findChildren(This,symtag,name,compareFlags,ppResult) )
+
+#define IDiaSymbol3_findChildrenEx(This,symtag,name,compareFlags,ppResult) \
+ ( (This)->lpVtbl -> findChildrenEx(This,symtag,name,compareFlags,ppResult) )
+
+#define IDiaSymbol3_findChildrenExByAddr(This,symtag,name,compareFlags,isect,offset,ppResult) \
+ ( (This)->lpVtbl -> findChildrenExByAddr(This,symtag,name,compareFlags,isect,offset,ppResult) )
+
+#define IDiaSymbol3_findChildrenExByVA(This,symtag,name,compareFlags,va,ppResult) \
+ ( (This)->lpVtbl -> findChildrenExByVA(This,symtag,name,compareFlags,va,ppResult) )
+
+#define IDiaSymbol3_findChildrenExByRVA(This,symtag,name,compareFlags,rva,ppResult) \
+ ( (This)->lpVtbl -> findChildrenExByRVA(This,symtag,name,compareFlags,rva,ppResult) )
+
+#define IDiaSymbol3_get_targetSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetSection(This,pRetVal) )
+
+#define IDiaSymbol3_get_targetOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetOffset(This,pRetVal) )
+
+#define IDiaSymbol3_get_targetRelativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetRelativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol3_get_targetVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol3_get_machineType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_machineType(This,pRetVal) )
+
+#define IDiaSymbol3_get_oemId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_oemId(This,pRetVal) )
+
+#define IDiaSymbol3_get_oemSymbolId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_oemSymbolId(This,pRetVal) )
+
+#define IDiaSymbol3_get_types(This,cTypes,pcTypes,pTypes) \
+ ( (This)->lpVtbl -> get_types(This,cTypes,pcTypes,pTypes) )
+
+#define IDiaSymbol3_get_typeIds(This,cTypeIds,pcTypeIds,pdwTypeIds) \
+ ( (This)->lpVtbl -> get_typeIds(This,cTypeIds,pcTypeIds,pdwTypeIds) )
+
+#define IDiaSymbol3_get_objectPointerType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_objectPointerType(This,pRetVal) )
+
+#define IDiaSymbol3_get_udtKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_udtKind(This,pRetVal) )
+
+#define IDiaSymbol3_get_undecoratedNameEx(This,undecorateOptions,name) \
+ ( (This)->lpVtbl -> get_undecoratedNameEx(This,undecorateOptions,name) )
+
+#define IDiaSymbol3_get_noReturn(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noReturn(This,pRetVal) )
+
+#define IDiaSymbol3_get_customCallingConvention(This,pRetVal) \
+ ( (This)->lpVtbl -> get_customCallingConvention(This,pRetVal) )
+
+#define IDiaSymbol3_get_noInline(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noInline(This,pRetVal) )
+
+#define IDiaSymbol3_get_optimizedCodeDebugInfo(This,pRetVal) \
+ ( (This)->lpVtbl -> get_optimizedCodeDebugInfo(This,pRetVal) )
+
+#define IDiaSymbol3_get_notReached(This,pRetVal) \
+ ( (This)->lpVtbl -> get_notReached(This,pRetVal) )
+
+#define IDiaSymbol3_get_interruptReturn(This,pRetVal) \
+ ( (This)->lpVtbl -> get_interruptReturn(This,pRetVal) )
+
+#define IDiaSymbol3_get_farReturn(This,pRetVal) \
+ ( (This)->lpVtbl -> get_farReturn(This,pRetVal) )
+
+#define IDiaSymbol3_get_isStatic(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isStatic(This,pRetVal) )
+
+#define IDiaSymbol3_get_hasDebugInfo(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasDebugInfo(This,pRetVal) )
+
+#define IDiaSymbol3_get_isLTCG(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isLTCG(This,pRetVal) )
+
+#define IDiaSymbol3_get_isDataAligned(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isDataAligned(This,pRetVal) )
+
+#define IDiaSymbol3_get_hasSecurityChecks(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasSecurityChecks(This,pRetVal) )
+
+#define IDiaSymbol3_get_compilerName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_compilerName(This,pRetVal) )
+
+#define IDiaSymbol3_get_hasAlloca(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasAlloca(This,pRetVal) )
+
+#define IDiaSymbol3_get_hasSetJump(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasSetJump(This,pRetVal) )
+
+#define IDiaSymbol3_get_hasLongJump(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasLongJump(This,pRetVal) )
+
+#define IDiaSymbol3_get_hasInlAsm(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasInlAsm(This,pRetVal) )
+
+#define IDiaSymbol3_get_hasEH(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasEH(This,pRetVal) )
+
+#define IDiaSymbol3_get_hasSEH(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasSEH(This,pRetVal) )
+
+#define IDiaSymbol3_get_hasEHa(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasEHa(This,pRetVal) )
+
+#define IDiaSymbol3_get_isNaked(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isNaked(This,pRetVal) )
+
+#define IDiaSymbol3_get_isAggregated(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAggregated(This,pRetVal) )
+
+#define IDiaSymbol3_get_isSplitted(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSplitted(This,pRetVal) )
+
+#define IDiaSymbol3_get_container(This,pRetVal) \
+ ( (This)->lpVtbl -> get_container(This,pRetVal) )
+
+#define IDiaSymbol3_get_inlSpec(This,pRetVal) \
+ ( (This)->lpVtbl -> get_inlSpec(This,pRetVal) )
+
+#define IDiaSymbol3_get_noStackOrdering(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noStackOrdering(This,pRetVal) )
+
+#define IDiaSymbol3_get_virtualBaseTableType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseTableType(This,pRetVal) )
+
+#define IDiaSymbol3_get_hasManagedCode(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasManagedCode(This,pRetVal) )
+
+#define IDiaSymbol3_get_isHotpatchable(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isHotpatchable(This,pRetVal) )
+
+#define IDiaSymbol3_get_isCVTCIL(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isCVTCIL(This,pRetVal) )
+
+#define IDiaSymbol3_get_isMSILNetmodule(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isMSILNetmodule(This,pRetVal) )
+
+#define IDiaSymbol3_get_isCTypes(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isCTypes(This,pRetVal) )
+
+#define IDiaSymbol3_get_isStripped(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isStripped(This,pRetVal) )
+
+#define IDiaSymbol3_get_frontEndQFE(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndQFE(This,pRetVal) )
+
+#define IDiaSymbol3_get_backEndQFE(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndQFE(This,pRetVal) )
+
+#define IDiaSymbol3_get_wasInlined(This,pRetVal) \
+ ( (This)->lpVtbl -> get_wasInlined(This,pRetVal) )
+
+#define IDiaSymbol3_get_strictGSCheck(This,pRetVal) \
+ ( (This)->lpVtbl -> get_strictGSCheck(This,pRetVal) )
+
+#define IDiaSymbol3_get_isCxxReturnUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isCxxReturnUdt(This,pRetVal) )
+
+#define IDiaSymbol3_get_isConstructorVirtualBase(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isConstructorVirtualBase(This,pRetVal) )
+
+#define IDiaSymbol3_get_RValueReference(This,pRetVal) \
+ ( (This)->lpVtbl -> get_RValueReference(This,pRetVal) )
+
+#define IDiaSymbol3_get_unmodifiedType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unmodifiedType(This,pRetVal) )
+
+#define IDiaSymbol3_get_framePointerPresent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_framePointerPresent(This,pRetVal) )
+
+#define IDiaSymbol3_get_isSafeBuffers(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSafeBuffers(This,pRetVal) )
+
+#define IDiaSymbol3_get_intrinsic(This,pRetVal) \
+ ( (This)->lpVtbl -> get_intrinsic(This,pRetVal) )
+
+#define IDiaSymbol3_get_sealed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_sealed(This,pRetVal) )
+
+#define IDiaSymbol3_get_hfaFloat(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hfaFloat(This,pRetVal) )
+
+#define IDiaSymbol3_get_hfaDouble(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hfaDouble(This,pRetVal) )
+
+#define IDiaSymbol3_get_liveRangeStartAddressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeStartAddressSection(This,pRetVal) )
+
+#define IDiaSymbol3_get_liveRangeStartAddressOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeStartAddressOffset(This,pRetVal) )
+
+#define IDiaSymbol3_get_liveRangeStartRelativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeStartRelativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol3_get_countLiveRanges(This,pRetVal) \
+ ( (This)->lpVtbl -> get_countLiveRanges(This,pRetVal) )
+
+#define IDiaSymbol3_get_liveRangeLength(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeLength(This,pRetVal) )
+
+#define IDiaSymbol3_get_offsetInUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_offsetInUdt(This,pRetVal) )
+
+#define IDiaSymbol3_get_paramBasePointerRegisterId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_paramBasePointerRegisterId(This,pRetVal) )
+
+#define IDiaSymbol3_get_localBasePointerRegisterId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_localBasePointerRegisterId(This,pRetVal) )
+
+#define IDiaSymbol3_get_isLocationControlFlowDependent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isLocationControlFlowDependent(This,pRetVal) )
+
+#define IDiaSymbol3_get_stride(This,pRetVal) \
+ ( (This)->lpVtbl -> get_stride(This,pRetVal) )
+
+#define IDiaSymbol3_get_numberOfRows(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfRows(This,pRetVal) )
+
+#define IDiaSymbol3_get_numberOfColumns(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfColumns(This,pRetVal) )
+
+#define IDiaSymbol3_get_isMatrixRowMajor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isMatrixRowMajor(This,pRetVal) )
+
+#define IDiaSymbol3_get_numericProperties(This,cnt,pcnt,pProperties) \
+ ( (This)->lpVtbl -> get_numericProperties(This,cnt,pcnt,pProperties) )
+
+#define IDiaSymbol3_get_modifierValues(This,cnt,pcnt,pModifiers) \
+ ( (This)->lpVtbl -> get_modifierValues(This,cnt,pcnt,pModifiers) )
+
+#define IDiaSymbol3_get_isReturnValue(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isReturnValue(This,pRetVal) )
+
+#define IDiaSymbol3_get_isOptimizedAway(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isOptimizedAway(This,pRetVal) )
+
+#define IDiaSymbol3_get_builtInKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_builtInKind(This,pRetVal) )
+
+#define IDiaSymbol3_get_registerType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_registerType(This,pRetVal) )
+
+#define IDiaSymbol3_get_baseDataSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseDataSlot(This,pRetVal) )
+
+#define IDiaSymbol3_get_baseDataOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseDataOffset(This,pRetVal) )
+
+#define IDiaSymbol3_get_textureSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_textureSlot(This,pRetVal) )
+
+#define IDiaSymbol3_get_samplerSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_samplerSlot(This,pRetVal) )
+
+#define IDiaSymbol3_get_uavSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_uavSlot(This,pRetVal) )
+
+#define IDiaSymbol3_get_sizeInUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_sizeInUdt(This,pRetVal) )
+
+#define IDiaSymbol3_get_memorySpaceKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_memorySpaceKind(This,pRetVal) )
+
+#define IDiaSymbol3_get_unmodifiedTypeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unmodifiedTypeId(This,pRetVal) )
+
+#define IDiaSymbol3_get_subTypeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_subTypeId(This,pRetVal) )
+
+#define IDiaSymbol3_get_subType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_subType(This,pRetVal) )
+
+#define IDiaSymbol3_get_numberOfModifiers(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfModifiers(This,pRetVal) )
+
+#define IDiaSymbol3_get_numberOfRegisterIndices(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfRegisterIndices(This,pRetVal) )
+
+#define IDiaSymbol3_get_isHLSLData(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isHLSLData(This,pRetVal) )
+
+#define IDiaSymbol3_get_isPointerToDataMember(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPointerToDataMember(This,pRetVal) )
+
+#define IDiaSymbol3_get_isPointerToMemberFunction(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPointerToMemberFunction(This,pRetVal) )
+
+#define IDiaSymbol3_get_isSingleInheritance(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSingleInheritance(This,pRetVal) )
+
+#define IDiaSymbol3_get_isMultipleInheritance(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isMultipleInheritance(This,pRetVal) )
+
+#define IDiaSymbol3_get_isVirtualInheritance(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isVirtualInheritance(This,pRetVal) )
+
+#define IDiaSymbol3_get_restrictedType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_restrictedType(This,pRetVal) )
+
+#define IDiaSymbol3_get_isPointerBasedOnSymbolValue(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPointerBasedOnSymbolValue(This,pRetVal) )
+
+#define IDiaSymbol3_get_baseSymbol(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseSymbol(This,pRetVal) )
+
+#define IDiaSymbol3_get_baseSymbolId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseSymbolId(This,pRetVal) )
+
+#define IDiaSymbol3_get_objectFileName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_objectFileName(This,pRetVal) )
+
+#define IDiaSymbol3_get_isAcceleratorGroupSharedLocal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAcceleratorGroupSharedLocal(This,pRetVal) )
+
+#define IDiaSymbol3_get_isAcceleratorPointerTagLiveRange(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAcceleratorPointerTagLiveRange(This,pRetVal) )
+
+#define IDiaSymbol3_get_isAcceleratorStubFunction(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAcceleratorStubFunction(This,pRetVal) )
+
+#define IDiaSymbol3_get_numberOfAcceleratorPointerTags(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfAcceleratorPointerTags(This,pRetVal) )
+
+#define IDiaSymbol3_get_isSdl(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSdl(This,pRetVal) )
+
+#define IDiaSymbol3_get_isWinRTPointer(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isWinRTPointer(This,pRetVal) )
+
+#define IDiaSymbol3_get_isRefUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isRefUdt(This,pRetVal) )
+
+#define IDiaSymbol3_get_isValueUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isValueUdt(This,pRetVal) )
+
+#define IDiaSymbol3_get_isInterfaceUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isInterfaceUdt(This,pRetVal) )
+
+#define IDiaSymbol3_findInlineFramesByAddr(This,isect,offset,ppResult) \
+ ( (This)->lpVtbl -> findInlineFramesByAddr(This,isect,offset,ppResult) )
+
+#define IDiaSymbol3_findInlineFramesByRVA(This,rva,ppResult) \
+ ( (This)->lpVtbl -> findInlineFramesByRVA(This,rva,ppResult) )
+
+#define IDiaSymbol3_findInlineFramesByVA(This,va,ppResult) \
+ ( (This)->lpVtbl -> findInlineFramesByVA(This,va,ppResult) )
+
+#define IDiaSymbol3_findInlineeLines(This,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLines(This,ppResult) )
+
+#define IDiaSymbol3_findInlineeLinesByAddr(This,isect,offset,length,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByAddr(This,isect,offset,length,ppResult) )
+
+#define IDiaSymbol3_findInlineeLinesByRVA(This,rva,length,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByRVA(This,rva,length,ppResult) )
+
+#define IDiaSymbol3_findInlineeLinesByVA(This,va,length,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByVA(This,va,length,ppResult) )
+
+#define IDiaSymbol3_findSymbolsForAcceleratorPointerTag(This,tagValue,ppResult) \
+ ( (This)->lpVtbl -> findSymbolsForAcceleratorPointerTag(This,tagValue,ppResult) )
+
+#define IDiaSymbol3_findSymbolsByRVAForAcceleratorPointerTag(This,tagValue,rva,ppResult) \
+ ( (This)->lpVtbl -> findSymbolsByRVAForAcceleratorPointerTag(This,tagValue,rva,ppResult) )
+
+#define IDiaSymbol3_get_acceleratorPointerTags(This,cnt,pcnt,pPointerTags) \
+ ( (This)->lpVtbl -> get_acceleratorPointerTags(This,cnt,pcnt,pPointerTags) )
+
+#define IDiaSymbol3_getSrcLineOnTypeDefn(This,ppResult) \
+ ( (This)->lpVtbl -> getSrcLineOnTypeDefn(This,ppResult) )
+
+#define IDiaSymbol3_get_isPGO(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPGO(This,pRetVal) )
+
+#define IDiaSymbol3_get_hasValidPGOCounts(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasValidPGOCounts(This,pRetVal) )
+
+#define IDiaSymbol3_get_isOptimizedForSpeed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isOptimizedForSpeed(This,pRetVal) )
+
+#define IDiaSymbol3_get_PGOEntryCount(This,pRetVal) \
+ ( (This)->lpVtbl -> get_PGOEntryCount(This,pRetVal) )
+
+#define IDiaSymbol3_get_PGOEdgeCount(This,pRetVal) \
+ ( (This)->lpVtbl -> get_PGOEdgeCount(This,pRetVal) )
+
+#define IDiaSymbol3_get_PGODynamicInstructionCount(This,pRetVal) \
+ ( (This)->lpVtbl -> get_PGODynamicInstructionCount(This,pRetVal) )
+
+#define IDiaSymbol3_get_staticSize(This,pRetVal) \
+ ( (This)->lpVtbl -> get_staticSize(This,pRetVal) )
+
+#define IDiaSymbol3_get_finalLiveStaticSize(This,pRetVal) \
+ ( (This)->lpVtbl -> get_finalLiveStaticSize(This,pRetVal) )
+
+#define IDiaSymbol3_get_phaseName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_phaseName(This,pRetVal) )
+
+#define IDiaSymbol3_get_hasControlFlowCheck(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasControlFlowCheck(This,pRetVal) )
+
+#define IDiaSymbol3_get_constantExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_constantExport(This,pRetVal) )
+
+#define IDiaSymbol3_get_dataExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_dataExport(This,pRetVal) )
+
+#define IDiaSymbol3_get_privateExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_privateExport(This,pRetVal) )
+
+#define IDiaSymbol3_get_noNameExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noNameExport(This,pRetVal) )
+
+#define IDiaSymbol3_get_exportHasExplicitlyAssignedOrdinal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exportHasExplicitlyAssignedOrdinal(This,pRetVal) )
+
+#define IDiaSymbol3_get_exportIsForwarder(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exportIsForwarder(This,pRetVal) )
+
+#define IDiaSymbol3_get_ordinal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_ordinal(This,pRetVal) )
+
+#define IDiaSymbol3_get_frameSize(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frameSize(This,pRetVal) )
+
+#define IDiaSymbol3_get_exceptionHandlerAddressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerAddressSection(This,pRetVal) )
+
+#define IDiaSymbol3_get_exceptionHandlerAddressOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerAddressOffset(This,pRetVal) )
+
+#define IDiaSymbol3_get_exceptionHandlerRelativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerRelativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol3_get_exceptionHandlerVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol3_findInputAssemblyFile(This,ppResult) \
+ ( (This)->lpVtbl -> findInputAssemblyFile(This,ppResult) )
+
+#define IDiaSymbol3_get_characteristics(This,pRetVal) \
+ ( (This)->lpVtbl -> get_characteristics(This,pRetVal) )
+
+#define IDiaSymbol3_get_coffGroup(This,pRetVal) \
+ ( (This)->lpVtbl -> get_coffGroup(This,pRetVal) )
+
+#define IDiaSymbol3_get_bindID(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bindID(This,pRetVal) )
+
+#define IDiaSymbol3_get_bindSpace(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bindSpace(This,pRetVal) )
+
+#define IDiaSymbol3_get_bindSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bindSlot(This,pRetVal) )
+
+
+#define IDiaSymbol3_get_isObjCClass(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isObjCClass(This,pRetVal) )
+
+#define IDiaSymbol3_get_isObjCCategory(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isObjCCategory(This,pRetVal) )
+
+#define IDiaSymbol3_get_isObjCProtocol(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isObjCProtocol(This,pRetVal) )
+
+
+#define IDiaSymbol3_get_inlinee(This,pRetVal) \
+ ( (This)->lpVtbl -> get_inlinee(This,pRetVal) )
+
+#define IDiaSymbol3_get_inlineeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_inlineeId(This,pRetVal) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol3_get_inlinee_Proxy(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+
+void __RPC_STUB IDiaSymbol3_get_inlinee_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol3_get_inlineeId_Proxy(
+ IDiaSymbol3 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol3_get_inlineeId_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDiaSymbol3_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaSymbol4_INTERFACE_DEFINED__
+#define __IDiaSymbol4_INTERFACE_DEFINED__
+
+/* interface IDiaSymbol4 */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaSymbol4;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("bf6c88a7-e9d6-4346-99a1-d053de5a7808")
+ IDiaSymbol4 : public IDiaSymbol3
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_noexcept(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaSymbol4Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaSymbol4 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaSymbol4 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaSymbol4 * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symIndexId )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symTag )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lexicalParent )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_classParent )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataKind )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_locationType )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressOffset )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerId )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offset )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_slot )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_volatileType )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constType )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unalignedType )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_access )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_libraryName )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_platform )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_language )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_editAndContinueEnabled )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndMajor )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndMinor )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndBuild )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndMajor )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndMinor )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndBuild )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sourceFileName )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unused )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_thunkOrdinal )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_thisAdjust )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseOffset )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtual )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_intro )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pure )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_callingConvention )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ VARIANT *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseType )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_token )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_timeStamp )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_guid )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ GUID *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symbolsFileName )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_reference )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_count )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bitPosition )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_arrayIndexType )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_packed )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constructor )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_overloadedOperator )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nested )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasNestedTypes )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasAssignmentOperator )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasCastOperator )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scoped )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseClass )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_indirectVirtualBaseClass )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBasePointerOffset )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualTableShape )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lexicalParentId )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_classParentId )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_typeId )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_arrayIndexTypeId )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualTableShapeId )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_code )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_function )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_managed )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msil )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseDispIndex )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_undecoratedName )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_age )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_signature )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilerGenerated )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressTaken )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rank )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowerBound )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_upperBound )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowerBoundId )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_upperBoundId )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_dataBytes )(
+ IDiaSymbol4 * This,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildren )(
+ IDiaSymbol4 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenEx )(
+ IDiaSymbol4 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenExByAddr )(
+ IDiaSymbol4 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenExByVA )(
+ IDiaSymbol4 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenExByRVA )(
+ IDiaSymbol4 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetSection )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetOffset )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetRelativeVirtualAddress )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVirtualAddress )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_machineType )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oemId )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oemSymbolId )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_types )(
+ IDiaSymbol4 * This,
+ /* [in] */ DWORD cTypes,
+ /* [out] */ DWORD *pcTypes,
+ /* [size_is][size_is][out] */ IDiaSymbol **pTypes);
+
+ HRESULT ( STDMETHODCALLTYPE *get_typeIds )(
+ IDiaSymbol4 * This,
+ /* [in] */ DWORD cTypeIds,
+ /* [out] */ DWORD *pcTypeIds,
+ /* [size_is][out] */ DWORD *pdwTypeIds);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_objectPointerType )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_udtKind )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_undecoratedNameEx )(
+ IDiaSymbol4 * This,
+ /* [in] */ DWORD undecorateOptions,
+ /* [out] */ BSTR *name);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noReturn )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_customCallingConvention )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noInline )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_optimizedCodeDebugInfo )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_notReached )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_interruptReturn )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_farReturn )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isStatic )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasDebugInfo )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isLTCG )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isDataAligned )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasSecurityChecks )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilerName )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasAlloca )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasSetJump )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasLongJump )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasInlAsm )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasEH )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasSEH )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasEHa )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isNaked )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAggregated )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSplitted )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_container )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_inlSpec )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noStackOrdering )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseTableType )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasManagedCode )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isHotpatchable )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCVTCIL )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMSILNetmodule )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCTypes )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isStripped )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndQFE )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndQFE )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_wasInlined )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_strictGSCheck )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCxxReturnUdt )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isConstructorVirtualBase )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RValueReference )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unmodifiedType )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_framePointerPresent )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSafeBuffers )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_intrinsic )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sealed )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hfaFloat )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hfaDouble )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeStartAddressSection )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeStartAddressOffset )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeStartRelativeVirtualAddress )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_countLiveRanges )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeLength )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetInUdt )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_paramBasePointerRegisterId )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_localBasePointerRegisterId )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isLocationControlFlowDependent )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_stride )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfRows )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfColumns )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMatrixRowMajor )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_numericProperties )(
+ IDiaSymbol4 * This,
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ DWORD *pProperties);
+
+ HRESULT ( STDMETHODCALLTYPE *get_modifierValues )(
+ IDiaSymbol4 * This,
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ WORD *pModifiers);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isReturnValue )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isOptimizedAway )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_builtInKind )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerType )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseDataSlot )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseDataOffset )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textureSlot )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_samplerSlot )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_uavSlot )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sizeInUdt )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_memorySpaceKind )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unmodifiedTypeId )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_subTypeId )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_subType )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfModifiers )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfRegisterIndices )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isHLSLData )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPointerToDataMember )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPointerToMemberFunction )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSingleInheritance )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMultipleInheritance )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isVirtualInheritance )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_restrictedType )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPointerBasedOnSymbolValue )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseSymbol )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseSymbolId )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_objectFileName )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAcceleratorGroupSharedLocal )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAcceleratorPointerTagLiveRange )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAcceleratorStubFunction )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfAcceleratorPointerTags )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSdl )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isWinRTPointer )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRefUdt )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isValueUdt )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isInterfaceUdt )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineFramesByAddr )(
+ IDiaSymbol4 * This,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineFramesByRVA )(
+ IDiaSymbol4 * This,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineFramesByVA )(
+ IDiaSymbol4 * This,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLines )(
+ IDiaSymbol4 * This,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByAddr )(
+ IDiaSymbol4 * This,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByRVA )(
+ IDiaSymbol4 * This,
+ /* [in] */ DWORD rva,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByVA )(
+ IDiaSymbol4 * This,
+ /* [in] */ ULONGLONG va,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findSymbolsForAcceleratorPointerTag )(
+ IDiaSymbol4 * This,
+ /* [in] */ DWORD tagValue,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findSymbolsByRVAForAcceleratorPointerTag )(
+ IDiaSymbol4 * This,
+ /* [in] */ DWORD tagValue,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *get_acceleratorPointerTags )(
+ IDiaSymbol4 * This,
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ DWORD *pPointerTags);
+
+ HRESULT ( STDMETHODCALLTYPE *getSrcLineOnTypeDefn )(
+ IDiaSymbol4 * This,
+ /* [out] */ IDiaLineNumber **ppResult);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPGO )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasValidPGOCounts )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isOptimizedForSpeed )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PGOEntryCount )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PGOEdgeCount )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PGODynamicInstructionCount )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_staticSize )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_finalLiveStaticSize )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_phaseName )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasControlFlowCheck )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constantExport )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataExport )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_privateExport )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noNameExport )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exportHasExplicitlyAssignedOrdinal )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exportIsForwarder )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ordinal )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frameSize )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerAddressSection )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerAddressOffset )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerRelativeVirtualAddress )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerVirtualAddress )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *findInputAssemblyFile )(
+ IDiaSymbol4 * This,
+ /* [out] */ IDiaInputAssemblyFile **ppResult);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_characteristics )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_coffGroup )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bindID )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bindSpace )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bindSlot )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isObjCClass )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isObjCCategory )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isObjCProtocol )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_inlinee )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_inlineeId )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noexcept )(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ END_INTERFACE
+ } IDiaSymbol4Vtbl;
+
+ interface IDiaSymbol4
+ {
+ CONST_VTBL struct IDiaSymbol4Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaSymbol4_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaSymbol4_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaSymbol4_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaSymbol4_get_symIndexId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_symIndexId(This,pRetVal) )
+
+#define IDiaSymbol4_get_symTag(This,pRetVal) \
+ ( (This)->lpVtbl -> get_symTag(This,pRetVal) )
+
+#define IDiaSymbol4_get_name(This,pRetVal) \
+ ( (This)->lpVtbl -> get_name(This,pRetVal) )
+
+#define IDiaSymbol4_get_lexicalParent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lexicalParent(This,pRetVal) )
+
+#define IDiaSymbol4_get_classParent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_classParent(This,pRetVal) )
+
+#define IDiaSymbol4_get_type(This,pRetVal) \
+ ( (This)->lpVtbl -> get_type(This,pRetVal) )
+
+#define IDiaSymbol4_get_dataKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_dataKind(This,pRetVal) )
+
+#define IDiaSymbol4_get_locationType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_locationType(This,pRetVal) )
+
+#define IDiaSymbol4_get_addressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressSection(This,pRetVal) )
+
+#define IDiaSymbol4_get_addressOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressOffset(This,pRetVal) )
+
+#define IDiaSymbol4_get_relativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol4_get_virtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualAddress(This,pRetVal) )
+
+#define IDiaSymbol4_get_registerId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_registerId(This,pRetVal) )
+
+#define IDiaSymbol4_get_offset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_offset(This,pRetVal) )
+
+#define IDiaSymbol4_get_length(This,pRetVal) \
+ ( (This)->lpVtbl -> get_length(This,pRetVal) )
+
+#define IDiaSymbol4_get_slot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_slot(This,pRetVal) )
+
+#define IDiaSymbol4_get_volatileType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_volatileType(This,pRetVal) )
+
+#define IDiaSymbol4_get_constType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_constType(This,pRetVal) )
+
+#define IDiaSymbol4_get_unalignedType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unalignedType(This,pRetVal) )
+
+#define IDiaSymbol4_get_access(This,pRetVal) \
+ ( (This)->lpVtbl -> get_access(This,pRetVal) )
+
+#define IDiaSymbol4_get_libraryName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_libraryName(This,pRetVal) )
+
+#define IDiaSymbol4_get_platform(This,pRetVal) \
+ ( (This)->lpVtbl -> get_platform(This,pRetVal) )
+
+#define IDiaSymbol4_get_language(This,pRetVal) \
+ ( (This)->lpVtbl -> get_language(This,pRetVal) )
+
+#define IDiaSymbol4_get_editAndContinueEnabled(This,pRetVal) \
+ ( (This)->lpVtbl -> get_editAndContinueEnabled(This,pRetVal) )
+
+#define IDiaSymbol4_get_frontEndMajor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndMajor(This,pRetVal) )
+
+#define IDiaSymbol4_get_frontEndMinor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndMinor(This,pRetVal) )
+
+#define IDiaSymbol4_get_frontEndBuild(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndBuild(This,pRetVal) )
+
+#define IDiaSymbol4_get_backEndMajor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndMajor(This,pRetVal) )
+
+#define IDiaSymbol4_get_backEndMinor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndMinor(This,pRetVal) )
+
+#define IDiaSymbol4_get_backEndBuild(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndBuild(This,pRetVal) )
+
+#define IDiaSymbol4_get_sourceFileName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_sourceFileName(This,pRetVal) )
+
+#define IDiaSymbol4_get_unused(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unused(This,pRetVal) )
+
+#define IDiaSymbol4_get_thunkOrdinal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_thunkOrdinal(This,pRetVal) )
+
+#define IDiaSymbol4_get_thisAdjust(This,pRetVal) \
+ ( (This)->lpVtbl -> get_thisAdjust(This,pRetVal) )
+
+#define IDiaSymbol4_get_virtualBaseOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseOffset(This,pRetVal) )
+
+#define IDiaSymbol4_get_virtual(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtual(This,pRetVal) )
+
+#define IDiaSymbol4_get_intro(This,pRetVal) \
+ ( (This)->lpVtbl -> get_intro(This,pRetVal) )
+
+#define IDiaSymbol4_get_pure(This,pRetVal) \
+ ( (This)->lpVtbl -> get_pure(This,pRetVal) )
+
+#define IDiaSymbol4_get_callingConvention(This,pRetVal) \
+ ( (This)->lpVtbl -> get_callingConvention(This,pRetVal) )
+
+#define IDiaSymbol4_get_value(This,pRetVal) \
+ ( (This)->lpVtbl -> get_value(This,pRetVal) )
+
+#define IDiaSymbol4_get_baseType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseType(This,pRetVal) )
+
+#define IDiaSymbol4_get_token(This,pRetVal) \
+ ( (This)->lpVtbl -> get_token(This,pRetVal) )
+
+#define IDiaSymbol4_get_timeStamp(This,pRetVal) \
+ ( (This)->lpVtbl -> get_timeStamp(This,pRetVal) )
+
+#define IDiaSymbol4_get_guid(This,pRetVal) \
+ ( (This)->lpVtbl -> get_guid(This,pRetVal) )
+
+#define IDiaSymbol4_get_symbolsFileName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_symbolsFileName(This,pRetVal) )
+
+#define IDiaSymbol4_get_reference(This,pRetVal) \
+ ( (This)->lpVtbl -> get_reference(This,pRetVal) )
+
+#define IDiaSymbol4_get_count(This,pRetVal) \
+ ( (This)->lpVtbl -> get_count(This,pRetVal) )
+
+#define IDiaSymbol4_get_bitPosition(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bitPosition(This,pRetVal) )
+
+#define IDiaSymbol4_get_arrayIndexType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_arrayIndexType(This,pRetVal) )
+
+#define IDiaSymbol4_get_packed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_packed(This,pRetVal) )
+
+#define IDiaSymbol4_get_constructor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_constructor(This,pRetVal) )
+
+#define IDiaSymbol4_get_overloadedOperator(This,pRetVal) \
+ ( (This)->lpVtbl -> get_overloadedOperator(This,pRetVal) )
+
+#define IDiaSymbol4_get_nested(This,pRetVal) \
+ ( (This)->lpVtbl -> get_nested(This,pRetVal) )
+
+#define IDiaSymbol4_get_hasNestedTypes(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasNestedTypes(This,pRetVal) )
+
+#define IDiaSymbol4_get_hasAssignmentOperator(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasAssignmentOperator(This,pRetVal) )
+
+#define IDiaSymbol4_get_hasCastOperator(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasCastOperator(This,pRetVal) )
+
+#define IDiaSymbol4_get_scoped(This,pRetVal) \
+ ( (This)->lpVtbl -> get_scoped(This,pRetVal) )
+
+#define IDiaSymbol4_get_virtualBaseClass(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseClass(This,pRetVal) )
+
+#define IDiaSymbol4_get_indirectVirtualBaseClass(This,pRetVal) \
+ ( (This)->lpVtbl -> get_indirectVirtualBaseClass(This,pRetVal) )
+
+#define IDiaSymbol4_get_virtualBasePointerOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBasePointerOffset(This,pRetVal) )
+
+#define IDiaSymbol4_get_virtualTableShape(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualTableShape(This,pRetVal) )
+
+#define IDiaSymbol4_get_lexicalParentId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lexicalParentId(This,pRetVal) )
+
+#define IDiaSymbol4_get_classParentId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_classParentId(This,pRetVal) )
+
+#define IDiaSymbol4_get_typeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_typeId(This,pRetVal) )
+
+#define IDiaSymbol4_get_arrayIndexTypeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_arrayIndexTypeId(This,pRetVal) )
+
+#define IDiaSymbol4_get_virtualTableShapeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualTableShapeId(This,pRetVal) )
+
+#define IDiaSymbol4_get_code(This,pRetVal) \
+ ( (This)->lpVtbl -> get_code(This,pRetVal) )
+
+#define IDiaSymbol4_get_function(This,pRetVal) \
+ ( (This)->lpVtbl -> get_function(This,pRetVal) )
+
+#define IDiaSymbol4_get_managed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_managed(This,pRetVal) )
+
+#define IDiaSymbol4_get_msil(This,pRetVal) \
+ ( (This)->lpVtbl -> get_msil(This,pRetVal) )
+
+#define IDiaSymbol4_get_virtualBaseDispIndex(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseDispIndex(This,pRetVal) )
+
+#define IDiaSymbol4_get_undecoratedName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_undecoratedName(This,pRetVal) )
+
+#define IDiaSymbol4_get_age(This,pRetVal) \
+ ( (This)->lpVtbl -> get_age(This,pRetVal) )
+
+#define IDiaSymbol4_get_signature(This,pRetVal) \
+ ( (This)->lpVtbl -> get_signature(This,pRetVal) )
+
+#define IDiaSymbol4_get_compilerGenerated(This,pRetVal) \
+ ( (This)->lpVtbl -> get_compilerGenerated(This,pRetVal) )
+
+#define IDiaSymbol4_get_addressTaken(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressTaken(This,pRetVal) )
+
+#define IDiaSymbol4_get_rank(This,pRetVal) \
+ ( (This)->lpVtbl -> get_rank(This,pRetVal) )
+
+#define IDiaSymbol4_get_lowerBound(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lowerBound(This,pRetVal) )
+
+#define IDiaSymbol4_get_upperBound(This,pRetVal) \
+ ( (This)->lpVtbl -> get_upperBound(This,pRetVal) )
+
+#define IDiaSymbol4_get_lowerBoundId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lowerBoundId(This,pRetVal) )
+
+#define IDiaSymbol4_get_upperBoundId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_upperBoundId(This,pRetVal) )
+
+#define IDiaSymbol4_get_dataBytes(This,cbData,pcbData,pbData) \
+ ( (This)->lpVtbl -> get_dataBytes(This,cbData,pcbData,pbData) )
+
+#define IDiaSymbol4_findChildren(This,symtag,name,compareFlags,ppResult) \
+ ( (This)->lpVtbl -> findChildren(This,symtag,name,compareFlags,ppResult) )
+
+#define IDiaSymbol4_findChildrenEx(This,symtag,name,compareFlags,ppResult) \
+ ( (This)->lpVtbl -> findChildrenEx(This,symtag,name,compareFlags,ppResult) )
+
+#define IDiaSymbol4_findChildrenExByAddr(This,symtag,name,compareFlags,isect,offset,ppResult) \
+ ( (This)->lpVtbl -> findChildrenExByAddr(This,symtag,name,compareFlags,isect,offset,ppResult) )
+
+#define IDiaSymbol4_findChildrenExByVA(This,symtag,name,compareFlags,va,ppResult) \
+ ( (This)->lpVtbl -> findChildrenExByVA(This,symtag,name,compareFlags,va,ppResult) )
+
+#define IDiaSymbol4_findChildrenExByRVA(This,symtag,name,compareFlags,rva,ppResult) \
+ ( (This)->lpVtbl -> findChildrenExByRVA(This,symtag,name,compareFlags,rva,ppResult) )
+
+#define IDiaSymbol4_get_targetSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetSection(This,pRetVal) )
+
+#define IDiaSymbol4_get_targetOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetOffset(This,pRetVal) )
+
+#define IDiaSymbol4_get_targetRelativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetRelativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol4_get_targetVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol4_get_machineType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_machineType(This,pRetVal) )
+
+#define IDiaSymbol4_get_oemId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_oemId(This,pRetVal) )
+
+#define IDiaSymbol4_get_oemSymbolId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_oemSymbolId(This,pRetVal) )
+
+#define IDiaSymbol4_get_types(This,cTypes,pcTypes,pTypes) \
+ ( (This)->lpVtbl -> get_types(This,cTypes,pcTypes,pTypes) )
+
+#define IDiaSymbol4_get_typeIds(This,cTypeIds,pcTypeIds,pdwTypeIds) \
+ ( (This)->lpVtbl -> get_typeIds(This,cTypeIds,pcTypeIds,pdwTypeIds) )
+
+#define IDiaSymbol4_get_objectPointerType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_objectPointerType(This,pRetVal) )
+
+#define IDiaSymbol4_get_udtKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_udtKind(This,pRetVal) )
+
+#define IDiaSymbol4_get_undecoratedNameEx(This,undecorateOptions,name) \
+ ( (This)->lpVtbl -> get_undecoratedNameEx(This,undecorateOptions,name) )
+
+#define IDiaSymbol4_get_noReturn(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noReturn(This,pRetVal) )
+
+#define IDiaSymbol4_get_customCallingConvention(This,pRetVal) \
+ ( (This)->lpVtbl -> get_customCallingConvention(This,pRetVal) )
+
+#define IDiaSymbol4_get_noInline(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noInline(This,pRetVal) )
+
+#define IDiaSymbol4_get_optimizedCodeDebugInfo(This,pRetVal) \
+ ( (This)->lpVtbl -> get_optimizedCodeDebugInfo(This,pRetVal) )
+
+#define IDiaSymbol4_get_notReached(This,pRetVal) \
+ ( (This)->lpVtbl -> get_notReached(This,pRetVal) )
+
+#define IDiaSymbol4_get_interruptReturn(This,pRetVal) \
+ ( (This)->lpVtbl -> get_interruptReturn(This,pRetVal) )
+
+#define IDiaSymbol4_get_farReturn(This,pRetVal) \
+ ( (This)->lpVtbl -> get_farReturn(This,pRetVal) )
+
+#define IDiaSymbol4_get_isStatic(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isStatic(This,pRetVal) )
+
+#define IDiaSymbol4_get_hasDebugInfo(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasDebugInfo(This,pRetVal) )
+
+#define IDiaSymbol4_get_isLTCG(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isLTCG(This,pRetVal) )
+
+#define IDiaSymbol4_get_isDataAligned(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isDataAligned(This,pRetVal) )
+
+#define IDiaSymbol4_get_hasSecurityChecks(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasSecurityChecks(This,pRetVal) )
+
+#define IDiaSymbol4_get_compilerName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_compilerName(This,pRetVal) )
+
+#define IDiaSymbol4_get_hasAlloca(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasAlloca(This,pRetVal) )
+
+#define IDiaSymbol4_get_hasSetJump(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasSetJump(This,pRetVal) )
+
+#define IDiaSymbol4_get_hasLongJump(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasLongJump(This,pRetVal) )
+
+#define IDiaSymbol4_get_hasInlAsm(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasInlAsm(This,pRetVal) )
+
+#define IDiaSymbol4_get_hasEH(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasEH(This,pRetVal) )
+
+#define IDiaSymbol4_get_hasSEH(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasSEH(This,pRetVal) )
+
+#define IDiaSymbol4_get_hasEHa(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasEHa(This,pRetVal) )
+
+#define IDiaSymbol4_get_isNaked(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isNaked(This,pRetVal) )
+
+#define IDiaSymbol4_get_isAggregated(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAggregated(This,pRetVal) )
+
+#define IDiaSymbol4_get_isSplitted(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSplitted(This,pRetVal) )
+
+#define IDiaSymbol4_get_container(This,pRetVal) \
+ ( (This)->lpVtbl -> get_container(This,pRetVal) )
+
+#define IDiaSymbol4_get_inlSpec(This,pRetVal) \
+ ( (This)->lpVtbl -> get_inlSpec(This,pRetVal) )
+
+#define IDiaSymbol4_get_noStackOrdering(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noStackOrdering(This,pRetVal) )
+
+#define IDiaSymbol4_get_virtualBaseTableType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseTableType(This,pRetVal) )
+
+#define IDiaSymbol4_get_hasManagedCode(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasManagedCode(This,pRetVal) )
+
+#define IDiaSymbol4_get_isHotpatchable(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isHotpatchable(This,pRetVal) )
+
+#define IDiaSymbol4_get_isCVTCIL(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isCVTCIL(This,pRetVal) )
+
+#define IDiaSymbol4_get_isMSILNetmodule(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isMSILNetmodule(This,pRetVal) )
+
+#define IDiaSymbol4_get_isCTypes(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isCTypes(This,pRetVal) )
+
+#define IDiaSymbol4_get_isStripped(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isStripped(This,pRetVal) )
+
+#define IDiaSymbol4_get_frontEndQFE(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndQFE(This,pRetVal) )
+
+#define IDiaSymbol4_get_backEndQFE(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndQFE(This,pRetVal) )
+
+#define IDiaSymbol4_get_wasInlined(This,pRetVal) \
+ ( (This)->lpVtbl -> get_wasInlined(This,pRetVal) )
+
+#define IDiaSymbol4_get_strictGSCheck(This,pRetVal) \
+ ( (This)->lpVtbl -> get_strictGSCheck(This,pRetVal) )
+
+#define IDiaSymbol4_get_isCxxReturnUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isCxxReturnUdt(This,pRetVal) )
+
+#define IDiaSymbol4_get_isConstructorVirtualBase(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isConstructorVirtualBase(This,pRetVal) )
+
+#define IDiaSymbol4_get_RValueReference(This,pRetVal) \
+ ( (This)->lpVtbl -> get_RValueReference(This,pRetVal) )
+
+#define IDiaSymbol4_get_unmodifiedType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unmodifiedType(This,pRetVal) )
+
+#define IDiaSymbol4_get_framePointerPresent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_framePointerPresent(This,pRetVal) )
+
+#define IDiaSymbol4_get_isSafeBuffers(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSafeBuffers(This,pRetVal) )
+
+#define IDiaSymbol4_get_intrinsic(This,pRetVal) \
+ ( (This)->lpVtbl -> get_intrinsic(This,pRetVal) )
+
+#define IDiaSymbol4_get_sealed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_sealed(This,pRetVal) )
+
+#define IDiaSymbol4_get_hfaFloat(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hfaFloat(This,pRetVal) )
+
+#define IDiaSymbol4_get_hfaDouble(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hfaDouble(This,pRetVal) )
+
+#define IDiaSymbol4_get_liveRangeStartAddressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeStartAddressSection(This,pRetVal) )
+
+#define IDiaSymbol4_get_liveRangeStartAddressOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeStartAddressOffset(This,pRetVal) )
+
+#define IDiaSymbol4_get_liveRangeStartRelativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeStartRelativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol4_get_countLiveRanges(This,pRetVal) \
+ ( (This)->lpVtbl -> get_countLiveRanges(This,pRetVal) )
+
+#define IDiaSymbol4_get_liveRangeLength(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeLength(This,pRetVal) )
+
+#define IDiaSymbol4_get_offsetInUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_offsetInUdt(This,pRetVal) )
+
+#define IDiaSymbol4_get_paramBasePointerRegisterId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_paramBasePointerRegisterId(This,pRetVal) )
+
+#define IDiaSymbol4_get_localBasePointerRegisterId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_localBasePointerRegisterId(This,pRetVal) )
+
+#define IDiaSymbol4_get_isLocationControlFlowDependent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isLocationControlFlowDependent(This,pRetVal) )
+
+#define IDiaSymbol4_get_stride(This,pRetVal) \
+ ( (This)->lpVtbl -> get_stride(This,pRetVal) )
+
+#define IDiaSymbol4_get_numberOfRows(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfRows(This,pRetVal) )
+
+#define IDiaSymbol4_get_numberOfColumns(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfColumns(This,pRetVal) )
+
+#define IDiaSymbol4_get_isMatrixRowMajor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isMatrixRowMajor(This,pRetVal) )
+
+#define IDiaSymbol4_get_numericProperties(This,cnt,pcnt,pProperties) \
+ ( (This)->lpVtbl -> get_numericProperties(This,cnt,pcnt,pProperties) )
+
+#define IDiaSymbol4_get_modifierValues(This,cnt,pcnt,pModifiers) \
+ ( (This)->lpVtbl -> get_modifierValues(This,cnt,pcnt,pModifiers) )
+
+#define IDiaSymbol4_get_isReturnValue(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isReturnValue(This,pRetVal) )
+
+#define IDiaSymbol4_get_isOptimizedAway(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isOptimizedAway(This,pRetVal) )
+
+#define IDiaSymbol4_get_builtInKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_builtInKind(This,pRetVal) )
+
+#define IDiaSymbol4_get_registerType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_registerType(This,pRetVal) )
+
+#define IDiaSymbol4_get_baseDataSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseDataSlot(This,pRetVal) )
+
+#define IDiaSymbol4_get_baseDataOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseDataOffset(This,pRetVal) )
+
+#define IDiaSymbol4_get_textureSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_textureSlot(This,pRetVal) )
+
+#define IDiaSymbol4_get_samplerSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_samplerSlot(This,pRetVal) )
+
+#define IDiaSymbol4_get_uavSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_uavSlot(This,pRetVal) )
+
+#define IDiaSymbol4_get_sizeInUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_sizeInUdt(This,pRetVal) )
+
+#define IDiaSymbol4_get_memorySpaceKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_memorySpaceKind(This,pRetVal) )
+
+#define IDiaSymbol4_get_unmodifiedTypeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unmodifiedTypeId(This,pRetVal) )
+
+#define IDiaSymbol4_get_subTypeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_subTypeId(This,pRetVal) )
+
+#define IDiaSymbol4_get_subType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_subType(This,pRetVal) )
+
+#define IDiaSymbol4_get_numberOfModifiers(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfModifiers(This,pRetVal) )
+
+#define IDiaSymbol4_get_numberOfRegisterIndices(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfRegisterIndices(This,pRetVal) )
+
+#define IDiaSymbol4_get_isHLSLData(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isHLSLData(This,pRetVal) )
+
+#define IDiaSymbol4_get_isPointerToDataMember(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPointerToDataMember(This,pRetVal) )
+
+#define IDiaSymbol4_get_isPointerToMemberFunction(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPointerToMemberFunction(This,pRetVal) )
+
+#define IDiaSymbol4_get_isSingleInheritance(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSingleInheritance(This,pRetVal) )
+
+#define IDiaSymbol4_get_isMultipleInheritance(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isMultipleInheritance(This,pRetVal) )
+
+#define IDiaSymbol4_get_isVirtualInheritance(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isVirtualInheritance(This,pRetVal) )
+
+#define IDiaSymbol4_get_restrictedType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_restrictedType(This,pRetVal) )
+
+#define IDiaSymbol4_get_isPointerBasedOnSymbolValue(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPointerBasedOnSymbolValue(This,pRetVal) )
+
+#define IDiaSymbol4_get_baseSymbol(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseSymbol(This,pRetVal) )
+
+#define IDiaSymbol4_get_baseSymbolId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseSymbolId(This,pRetVal) )
+
+#define IDiaSymbol4_get_objectFileName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_objectFileName(This,pRetVal) )
+
+#define IDiaSymbol4_get_isAcceleratorGroupSharedLocal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAcceleratorGroupSharedLocal(This,pRetVal) )
+
+#define IDiaSymbol4_get_isAcceleratorPointerTagLiveRange(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAcceleratorPointerTagLiveRange(This,pRetVal) )
+
+#define IDiaSymbol4_get_isAcceleratorStubFunction(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAcceleratorStubFunction(This,pRetVal) )
+
+#define IDiaSymbol4_get_numberOfAcceleratorPointerTags(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfAcceleratorPointerTags(This,pRetVal) )
+
+#define IDiaSymbol4_get_isSdl(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSdl(This,pRetVal) )
+
+#define IDiaSymbol4_get_isWinRTPointer(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isWinRTPointer(This,pRetVal) )
+
+#define IDiaSymbol4_get_isRefUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isRefUdt(This,pRetVal) )
+
+#define IDiaSymbol4_get_isValueUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isValueUdt(This,pRetVal) )
+
+#define IDiaSymbol4_get_isInterfaceUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isInterfaceUdt(This,pRetVal) )
+
+#define IDiaSymbol4_findInlineFramesByAddr(This,isect,offset,ppResult) \
+ ( (This)->lpVtbl -> findInlineFramesByAddr(This,isect,offset,ppResult) )
+
+#define IDiaSymbol4_findInlineFramesByRVA(This,rva,ppResult) \
+ ( (This)->lpVtbl -> findInlineFramesByRVA(This,rva,ppResult) )
+
+#define IDiaSymbol4_findInlineFramesByVA(This,va,ppResult) \
+ ( (This)->lpVtbl -> findInlineFramesByVA(This,va,ppResult) )
+
+#define IDiaSymbol4_findInlineeLines(This,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLines(This,ppResult) )
+
+#define IDiaSymbol4_findInlineeLinesByAddr(This,isect,offset,length,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByAddr(This,isect,offset,length,ppResult) )
+
+#define IDiaSymbol4_findInlineeLinesByRVA(This,rva,length,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByRVA(This,rva,length,ppResult) )
+
+#define IDiaSymbol4_findInlineeLinesByVA(This,va,length,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByVA(This,va,length,ppResult) )
+
+#define IDiaSymbol4_findSymbolsForAcceleratorPointerTag(This,tagValue,ppResult) \
+ ( (This)->lpVtbl -> findSymbolsForAcceleratorPointerTag(This,tagValue,ppResult) )
+
+#define IDiaSymbol4_findSymbolsByRVAForAcceleratorPointerTag(This,tagValue,rva,ppResult) \
+ ( (This)->lpVtbl -> findSymbolsByRVAForAcceleratorPointerTag(This,tagValue,rva,ppResult) )
+
+#define IDiaSymbol4_get_acceleratorPointerTags(This,cnt,pcnt,pPointerTags) \
+ ( (This)->lpVtbl -> get_acceleratorPointerTags(This,cnt,pcnt,pPointerTags) )
+
+#define IDiaSymbol4_getSrcLineOnTypeDefn(This,ppResult) \
+ ( (This)->lpVtbl -> getSrcLineOnTypeDefn(This,ppResult) )
+
+#define IDiaSymbol4_get_isPGO(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPGO(This,pRetVal) )
+
+#define IDiaSymbol4_get_hasValidPGOCounts(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasValidPGOCounts(This,pRetVal) )
+
+#define IDiaSymbol4_get_isOptimizedForSpeed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isOptimizedForSpeed(This,pRetVal) )
+
+#define IDiaSymbol4_get_PGOEntryCount(This,pRetVal) \
+ ( (This)->lpVtbl -> get_PGOEntryCount(This,pRetVal) )
+
+#define IDiaSymbol4_get_PGOEdgeCount(This,pRetVal) \
+ ( (This)->lpVtbl -> get_PGOEdgeCount(This,pRetVal) )
+
+#define IDiaSymbol4_get_PGODynamicInstructionCount(This,pRetVal) \
+ ( (This)->lpVtbl -> get_PGODynamicInstructionCount(This,pRetVal) )
+
+#define IDiaSymbol4_get_staticSize(This,pRetVal) \
+ ( (This)->lpVtbl -> get_staticSize(This,pRetVal) )
+
+#define IDiaSymbol4_get_finalLiveStaticSize(This,pRetVal) \
+ ( (This)->lpVtbl -> get_finalLiveStaticSize(This,pRetVal) )
+
+#define IDiaSymbol4_get_phaseName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_phaseName(This,pRetVal) )
+
+#define IDiaSymbol4_get_hasControlFlowCheck(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasControlFlowCheck(This,pRetVal) )
+
+#define IDiaSymbol4_get_constantExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_constantExport(This,pRetVal) )
+
+#define IDiaSymbol4_get_dataExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_dataExport(This,pRetVal) )
+
+#define IDiaSymbol4_get_privateExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_privateExport(This,pRetVal) )
+
+#define IDiaSymbol4_get_noNameExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noNameExport(This,pRetVal) )
+
+#define IDiaSymbol4_get_exportHasExplicitlyAssignedOrdinal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exportHasExplicitlyAssignedOrdinal(This,pRetVal) )
+
+#define IDiaSymbol4_get_exportIsForwarder(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exportIsForwarder(This,pRetVal) )
+
+#define IDiaSymbol4_get_ordinal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_ordinal(This,pRetVal) )
+
+#define IDiaSymbol4_get_frameSize(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frameSize(This,pRetVal) )
+
+#define IDiaSymbol4_get_exceptionHandlerAddressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerAddressSection(This,pRetVal) )
+
+#define IDiaSymbol4_get_exceptionHandlerAddressOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerAddressOffset(This,pRetVal) )
+
+#define IDiaSymbol4_get_exceptionHandlerRelativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerRelativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol4_get_exceptionHandlerVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol4_findInputAssemblyFile(This,ppResult) \
+ ( (This)->lpVtbl -> findInputAssemblyFile(This,ppResult) )
+
+#define IDiaSymbol4_get_characteristics(This,pRetVal) \
+ ( (This)->lpVtbl -> get_characteristics(This,pRetVal) )
+
+#define IDiaSymbol4_get_coffGroup(This,pRetVal) \
+ ( (This)->lpVtbl -> get_coffGroup(This,pRetVal) )
+
+#define IDiaSymbol4_get_bindID(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bindID(This,pRetVal) )
+
+#define IDiaSymbol4_get_bindSpace(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bindSpace(This,pRetVal) )
+
+#define IDiaSymbol4_get_bindSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bindSlot(This,pRetVal) )
+
+
+#define IDiaSymbol4_get_isObjCClass(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isObjCClass(This,pRetVal) )
+
+#define IDiaSymbol4_get_isObjCCategory(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isObjCCategory(This,pRetVal) )
+
+#define IDiaSymbol4_get_isObjCProtocol(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isObjCProtocol(This,pRetVal) )
+
+
+#define IDiaSymbol4_get_inlinee(This,pRetVal) \
+ ( (This)->lpVtbl -> get_inlinee(This,pRetVal) )
+
+#define IDiaSymbol4_get_inlineeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_inlineeId(This,pRetVal) )
+
+
+#define IDiaSymbol4_get_noexcept(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noexcept(This,pRetVal) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol4_get_noexcept_Proxy(
+ IDiaSymbol4 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol4_get_noexcept_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDiaSymbol4_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaSymbol5_INTERFACE_DEFINED__
+#define __IDiaSymbol5_INTERFACE_DEFINED__
+
+/* interface IDiaSymbol5 */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaSymbol5;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("abe2de00-dc2d-4793-af9a-ef1d90832644")
+ IDiaSymbol5 : public IDiaSymbol4
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasAbsoluteAddress(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaSymbol5Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaSymbol5 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaSymbol5 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaSymbol5 * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symIndexId )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symTag )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lexicalParent )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_classParent )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataKind )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_locationType )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressOffset )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerId )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offset )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_slot )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_volatileType )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constType )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unalignedType )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_access )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_libraryName )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_platform )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_language )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_editAndContinueEnabled )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndMajor )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndMinor )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndBuild )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndMajor )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndMinor )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndBuild )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sourceFileName )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unused )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_thunkOrdinal )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_thisAdjust )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseOffset )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtual )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_intro )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pure )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_callingConvention )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ VARIANT *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseType )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_token )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_timeStamp )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_guid )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ GUID *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symbolsFileName )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_reference )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_count )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bitPosition )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_arrayIndexType )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_packed )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constructor )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_overloadedOperator )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nested )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasNestedTypes )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasAssignmentOperator )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasCastOperator )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scoped )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseClass )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_indirectVirtualBaseClass )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBasePointerOffset )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualTableShape )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lexicalParentId )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_classParentId )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_typeId )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_arrayIndexTypeId )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualTableShapeId )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_code )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_function )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_managed )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msil )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseDispIndex )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_undecoratedName )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_age )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_signature )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilerGenerated )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressTaken )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rank )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowerBound )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_upperBound )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowerBoundId )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_upperBoundId )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_dataBytes )(
+ IDiaSymbol5 * This,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildren )(
+ IDiaSymbol5 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenEx )(
+ IDiaSymbol5 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenExByAddr )(
+ IDiaSymbol5 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenExByVA )(
+ IDiaSymbol5 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenExByRVA )(
+ IDiaSymbol5 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetSection )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetOffset )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetRelativeVirtualAddress )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVirtualAddress )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_machineType )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oemId )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oemSymbolId )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_types )(
+ IDiaSymbol5 * This,
+ /* [in] */ DWORD cTypes,
+ /* [out] */ DWORD *pcTypes,
+ /* [size_is][size_is][out] */ IDiaSymbol **pTypes);
+
+ HRESULT ( STDMETHODCALLTYPE *get_typeIds )(
+ IDiaSymbol5 * This,
+ /* [in] */ DWORD cTypeIds,
+ /* [out] */ DWORD *pcTypeIds,
+ /* [size_is][out] */ DWORD *pdwTypeIds);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_objectPointerType )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_udtKind )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_undecoratedNameEx )(
+ IDiaSymbol5 * This,
+ /* [in] */ DWORD undecorateOptions,
+ /* [out] */ BSTR *name);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noReturn )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_customCallingConvention )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noInline )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_optimizedCodeDebugInfo )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_notReached )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_interruptReturn )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_farReturn )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isStatic )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasDebugInfo )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isLTCG )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isDataAligned )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasSecurityChecks )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilerName )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasAlloca )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasSetJump )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasLongJump )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasInlAsm )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasEH )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasSEH )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasEHa )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isNaked )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAggregated )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSplitted )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_container )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_inlSpec )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noStackOrdering )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseTableType )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasManagedCode )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isHotpatchable )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCVTCIL )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMSILNetmodule )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCTypes )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isStripped )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndQFE )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndQFE )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_wasInlined )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_strictGSCheck )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCxxReturnUdt )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isConstructorVirtualBase )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RValueReference )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unmodifiedType )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_framePointerPresent )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSafeBuffers )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_intrinsic )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sealed )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hfaFloat )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hfaDouble )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeStartAddressSection )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeStartAddressOffset )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeStartRelativeVirtualAddress )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_countLiveRanges )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeLength )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetInUdt )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_paramBasePointerRegisterId )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_localBasePointerRegisterId )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isLocationControlFlowDependent )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_stride )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfRows )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfColumns )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMatrixRowMajor )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_numericProperties )(
+ IDiaSymbol5 * This,
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ DWORD *pProperties);
+
+ HRESULT ( STDMETHODCALLTYPE *get_modifierValues )(
+ IDiaSymbol5 * This,
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ WORD *pModifiers);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isReturnValue )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isOptimizedAway )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_builtInKind )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerType )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseDataSlot )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseDataOffset )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textureSlot )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_samplerSlot )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_uavSlot )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sizeInUdt )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_memorySpaceKind )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unmodifiedTypeId )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_subTypeId )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_subType )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfModifiers )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfRegisterIndices )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isHLSLData )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPointerToDataMember )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPointerToMemberFunction )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSingleInheritance )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMultipleInheritance )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isVirtualInheritance )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_restrictedType )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPointerBasedOnSymbolValue )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseSymbol )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseSymbolId )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_objectFileName )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAcceleratorGroupSharedLocal )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAcceleratorPointerTagLiveRange )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAcceleratorStubFunction )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfAcceleratorPointerTags )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSdl )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isWinRTPointer )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRefUdt )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isValueUdt )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isInterfaceUdt )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineFramesByAddr )(
+ IDiaSymbol5 * This,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineFramesByRVA )(
+ IDiaSymbol5 * This,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineFramesByVA )(
+ IDiaSymbol5 * This,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLines )(
+ IDiaSymbol5 * This,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByAddr )(
+ IDiaSymbol5 * This,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByRVA )(
+ IDiaSymbol5 * This,
+ /* [in] */ DWORD rva,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByVA )(
+ IDiaSymbol5 * This,
+ /* [in] */ ULONGLONG va,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findSymbolsForAcceleratorPointerTag )(
+ IDiaSymbol5 * This,
+ /* [in] */ DWORD tagValue,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findSymbolsByRVAForAcceleratorPointerTag )(
+ IDiaSymbol5 * This,
+ /* [in] */ DWORD tagValue,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *get_acceleratorPointerTags )(
+ IDiaSymbol5 * This,
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ DWORD *pPointerTags);
+
+ HRESULT ( STDMETHODCALLTYPE *getSrcLineOnTypeDefn )(
+ IDiaSymbol5 * This,
+ /* [out] */ IDiaLineNumber **ppResult);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPGO )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasValidPGOCounts )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isOptimizedForSpeed )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PGOEntryCount )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PGOEdgeCount )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PGODynamicInstructionCount )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_staticSize )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_finalLiveStaticSize )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_phaseName )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasControlFlowCheck )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constantExport )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataExport )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_privateExport )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noNameExport )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exportHasExplicitlyAssignedOrdinal )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exportIsForwarder )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ordinal )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frameSize )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerAddressSection )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerAddressOffset )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerRelativeVirtualAddress )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerVirtualAddress )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *findInputAssemblyFile )(
+ IDiaSymbol5 * This,
+ /* [out] */ IDiaInputAssemblyFile **ppResult);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_characteristics )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_coffGroup )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bindID )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bindSpace )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bindSlot )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isObjCClass )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isObjCCategory )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isObjCProtocol )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_inlinee )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_inlineeId )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noexcept )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasAbsoluteAddress )(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ END_INTERFACE
+ } IDiaSymbol5Vtbl;
+
+ interface IDiaSymbol5
+ {
+ CONST_VTBL struct IDiaSymbol5Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaSymbol5_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaSymbol5_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaSymbol5_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaSymbol5_get_symIndexId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_symIndexId(This,pRetVal) )
+
+#define IDiaSymbol5_get_symTag(This,pRetVal) \
+ ( (This)->lpVtbl -> get_symTag(This,pRetVal) )
+
+#define IDiaSymbol5_get_name(This,pRetVal) \
+ ( (This)->lpVtbl -> get_name(This,pRetVal) )
+
+#define IDiaSymbol5_get_lexicalParent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lexicalParent(This,pRetVal) )
+
+#define IDiaSymbol5_get_classParent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_classParent(This,pRetVal) )
+
+#define IDiaSymbol5_get_type(This,pRetVal) \
+ ( (This)->lpVtbl -> get_type(This,pRetVal) )
+
+#define IDiaSymbol5_get_dataKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_dataKind(This,pRetVal) )
+
+#define IDiaSymbol5_get_locationType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_locationType(This,pRetVal) )
+
+#define IDiaSymbol5_get_addressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressSection(This,pRetVal) )
+
+#define IDiaSymbol5_get_addressOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressOffset(This,pRetVal) )
+
+#define IDiaSymbol5_get_relativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol5_get_virtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualAddress(This,pRetVal) )
+
+#define IDiaSymbol5_get_registerId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_registerId(This,pRetVal) )
+
+#define IDiaSymbol5_get_offset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_offset(This,pRetVal) )
+
+#define IDiaSymbol5_get_length(This,pRetVal) \
+ ( (This)->lpVtbl -> get_length(This,pRetVal) )
+
+#define IDiaSymbol5_get_slot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_slot(This,pRetVal) )
+
+#define IDiaSymbol5_get_volatileType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_volatileType(This,pRetVal) )
+
+#define IDiaSymbol5_get_constType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_constType(This,pRetVal) )
+
+#define IDiaSymbol5_get_unalignedType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unalignedType(This,pRetVal) )
+
+#define IDiaSymbol5_get_access(This,pRetVal) \
+ ( (This)->lpVtbl -> get_access(This,pRetVal) )
+
+#define IDiaSymbol5_get_libraryName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_libraryName(This,pRetVal) )
+
+#define IDiaSymbol5_get_platform(This,pRetVal) \
+ ( (This)->lpVtbl -> get_platform(This,pRetVal) )
+
+#define IDiaSymbol5_get_language(This,pRetVal) \
+ ( (This)->lpVtbl -> get_language(This,pRetVal) )
+
+#define IDiaSymbol5_get_editAndContinueEnabled(This,pRetVal) \
+ ( (This)->lpVtbl -> get_editAndContinueEnabled(This,pRetVal) )
+
+#define IDiaSymbol5_get_frontEndMajor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndMajor(This,pRetVal) )
+
+#define IDiaSymbol5_get_frontEndMinor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndMinor(This,pRetVal) )
+
+#define IDiaSymbol5_get_frontEndBuild(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndBuild(This,pRetVal) )
+
+#define IDiaSymbol5_get_backEndMajor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndMajor(This,pRetVal) )
+
+#define IDiaSymbol5_get_backEndMinor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndMinor(This,pRetVal) )
+
+#define IDiaSymbol5_get_backEndBuild(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndBuild(This,pRetVal) )
+
+#define IDiaSymbol5_get_sourceFileName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_sourceFileName(This,pRetVal) )
+
+#define IDiaSymbol5_get_unused(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unused(This,pRetVal) )
+
+#define IDiaSymbol5_get_thunkOrdinal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_thunkOrdinal(This,pRetVal) )
+
+#define IDiaSymbol5_get_thisAdjust(This,pRetVal) \
+ ( (This)->lpVtbl -> get_thisAdjust(This,pRetVal) )
+
+#define IDiaSymbol5_get_virtualBaseOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseOffset(This,pRetVal) )
+
+#define IDiaSymbol5_get_virtual(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtual(This,pRetVal) )
+
+#define IDiaSymbol5_get_intro(This,pRetVal) \
+ ( (This)->lpVtbl -> get_intro(This,pRetVal) )
+
+#define IDiaSymbol5_get_pure(This,pRetVal) \
+ ( (This)->lpVtbl -> get_pure(This,pRetVal) )
+
+#define IDiaSymbol5_get_callingConvention(This,pRetVal) \
+ ( (This)->lpVtbl -> get_callingConvention(This,pRetVal) )
+
+#define IDiaSymbol5_get_value(This,pRetVal) \
+ ( (This)->lpVtbl -> get_value(This,pRetVal) )
+
+#define IDiaSymbol5_get_baseType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseType(This,pRetVal) )
+
+#define IDiaSymbol5_get_token(This,pRetVal) \
+ ( (This)->lpVtbl -> get_token(This,pRetVal) )
+
+#define IDiaSymbol5_get_timeStamp(This,pRetVal) \
+ ( (This)->lpVtbl -> get_timeStamp(This,pRetVal) )
+
+#define IDiaSymbol5_get_guid(This,pRetVal) \
+ ( (This)->lpVtbl -> get_guid(This,pRetVal) )
+
+#define IDiaSymbol5_get_symbolsFileName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_symbolsFileName(This,pRetVal) )
+
+#define IDiaSymbol5_get_reference(This,pRetVal) \
+ ( (This)->lpVtbl -> get_reference(This,pRetVal) )
+
+#define IDiaSymbol5_get_count(This,pRetVal) \
+ ( (This)->lpVtbl -> get_count(This,pRetVal) )
+
+#define IDiaSymbol5_get_bitPosition(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bitPosition(This,pRetVal) )
+
+#define IDiaSymbol5_get_arrayIndexType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_arrayIndexType(This,pRetVal) )
+
+#define IDiaSymbol5_get_packed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_packed(This,pRetVal) )
+
+#define IDiaSymbol5_get_constructor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_constructor(This,pRetVal) )
+
+#define IDiaSymbol5_get_overloadedOperator(This,pRetVal) \
+ ( (This)->lpVtbl -> get_overloadedOperator(This,pRetVal) )
+
+#define IDiaSymbol5_get_nested(This,pRetVal) \
+ ( (This)->lpVtbl -> get_nested(This,pRetVal) )
+
+#define IDiaSymbol5_get_hasNestedTypes(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasNestedTypes(This,pRetVal) )
+
+#define IDiaSymbol5_get_hasAssignmentOperator(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasAssignmentOperator(This,pRetVal) )
+
+#define IDiaSymbol5_get_hasCastOperator(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasCastOperator(This,pRetVal) )
+
+#define IDiaSymbol5_get_scoped(This,pRetVal) \
+ ( (This)->lpVtbl -> get_scoped(This,pRetVal) )
+
+#define IDiaSymbol5_get_virtualBaseClass(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseClass(This,pRetVal) )
+
+#define IDiaSymbol5_get_indirectVirtualBaseClass(This,pRetVal) \
+ ( (This)->lpVtbl -> get_indirectVirtualBaseClass(This,pRetVal) )
+
+#define IDiaSymbol5_get_virtualBasePointerOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBasePointerOffset(This,pRetVal) )
+
+#define IDiaSymbol5_get_virtualTableShape(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualTableShape(This,pRetVal) )
+
+#define IDiaSymbol5_get_lexicalParentId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lexicalParentId(This,pRetVal) )
+
+#define IDiaSymbol5_get_classParentId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_classParentId(This,pRetVal) )
+
+#define IDiaSymbol5_get_typeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_typeId(This,pRetVal) )
+
+#define IDiaSymbol5_get_arrayIndexTypeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_arrayIndexTypeId(This,pRetVal) )
+
+#define IDiaSymbol5_get_virtualTableShapeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualTableShapeId(This,pRetVal) )
+
+#define IDiaSymbol5_get_code(This,pRetVal) \
+ ( (This)->lpVtbl -> get_code(This,pRetVal) )
+
+#define IDiaSymbol5_get_function(This,pRetVal) \
+ ( (This)->lpVtbl -> get_function(This,pRetVal) )
+
+#define IDiaSymbol5_get_managed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_managed(This,pRetVal) )
+
+#define IDiaSymbol5_get_msil(This,pRetVal) \
+ ( (This)->lpVtbl -> get_msil(This,pRetVal) )
+
+#define IDiaSymbol5_get_virtualBaseDispIndex(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseDispIndex(This,pRetVal) )
+
+#define IDiaSymbol5_get_undecoratedName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_undecoratedName(This,pRetVal) )
+
+#define IDiaSymbol5_get_age(This,pRetVal) \
+ ( (This)->lpVtbl -> get_age(This,pRetVal) )
+
+#define IDiaSymbol5_get_signature(This,pRetVal) \
+ ( (This)->lpVtbl -> get_signature(This,pRetVal) )
+
+#define IDiaSymbol5_get_compilerGenerated(This,pRetVal) \
+ ( (This)->lpVtbl -> get_compilerGenerated(This,pRetVal) )
+
+#define IDiaSymbol5_get_addressTaken(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressTaken(This,pRetVal) )
+
+#define IDiaSymbol5_get_rank(This,pRetVal) \
+ ( (This)->lpVtbl -> get_rank(This,pRetVal) )
+
+#define IDiaSymbol5_get_lowerBound(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lowerBound(This,pRetVal) )
+
+#define IDiaSymbol5_get_upperBound(This,pRetVal) \
+ ( (This)->lpVtbl -> get_upperBound(This,pRetVal) )
+
+#define IDiaSymbol5_get_lowerBoundId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lowerBoundId(This,pRetVal) )
+
+#define IDiaSymbol5_get_upperBoundId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_upperBoundId(This,pRetVal) )
+
+#define IDiaSymbol5_get_dataBytes(This,cbData,pcbData,pbData) \
+ ( (This)->lpVtbl -> get_dataBytes(This,cbData,pcbData,pbData) )
+
+#define IDiaSymbol5_findChildren(This,symtag,name,compareFlags,ppResult) \
+ ( (This)->lpVtbl -> findChildren(This,symtag,name,compareFlags,ppResult) )
+
+#define IDiaSymbol5_findChildrenEx(This,symtag,name,compareFlags,ppResult) \
+ ( (This)->lpVtbl -> findChildrenEx(This,symtag,name,compareFlags,ppResult) )
+
+#define IDiaSymbol5_findChildrenExByAddr(This,symtag,name,compareFlags,isect,offset,ppResult) \
+ ( (This)->lpVtbl -> findChildrenExByAddr(This,symtag,name,compareFlags,isect,offset,ppResult) )
+
+#define IDiaSymbol5_findChildrenExByVA(This,symtag,name,compareFlags,va,ppResult) \
+ ( (This)->lpVtbl -> findChildrenExByVA(This,symtag,name,compareFlags,va,ppResult) )
+
+#define IDiaSymbol5_findChildrenExByRVA(This,symtag,name,compareFlags,rva,ppResult) \
+ ( (This)->lpVtbl -> findChildrenExByRVA(This,symtag,name,compareFlags,rva,ppResult) )
+
+#define IDiaSymbol5_get_targetSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetSection(This,pRetVal) )
+
+#define IDiaSymbol5_get_targetOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetOffset(This,pRetVal) )
+
+#define IDiaSymbol5_get_targetRelativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetRelativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol5_get_targetVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol5_get_machineType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_machineType(This,pRetVal) )
+
+#define IDiaSymbol5_get_oemId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_oemId(This,pRetVal) )
+
+#define IDiaSymbol5_get_oemSymbolId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_oemSymbolId(This,pRetVal) )
+
+#define IDiaSymbol5_get_types(This,cTypes,pcTypes,pTypes) \
+ ( (This)->lpVtbl -> get_types(This,cTypes,pcTypes,pTypes) )
+
+#define IDiaSymbol5_get_typeIds(This,cTypeIds,pcTypeIds,pdwTypeIds) \
+ ( (This)->lpVtbl -> get_typeIds(This,cTypeIds,pcTypeIds,pdwTypeIds) )
+
+#define IDiaSymbol5_get_objectPointerType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_objectPointerType(This,pRetVal) )
+
+#define IDiaSymbol5_get_udtKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_udtKind(This,pRetVal) )
+
+#define IDiaSymbol5_get_undecoratedNameEx(This,undecorateOptions,name) \
+ ( (This)->lpVtbl -> get_undecoratedNameEx(This,undecorateOptions,name) )
+
+#define IDiaSymbol5_get_noReturn(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noReturn(This,pRetVal) )
+
+#define IDiaSymbol5_get_customCallingConvention(This,pRetVal) \
+ ( (This)->lpVtbl -> get_customCallingConvention(This,pRetVal) )
+
+#define IDiaSymbol5_get_noInline(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noInline(This,pRetVal) )
+
+#define IDiaSymbol5_get_optimizedCodeDebugInfo(This,pRetVal) \
+ ( (This)->lpVtbl -> get_optimizedCodeDebugInfo(This,pRetVal) )
+
+#define IDiaSymbol5_get_notReached(This,pRetVal) \
+ ( (This)->lpVtbl -> get_notReached(This,pRetVal) )
+
+#define IDiaSymbol5_get_interruptReturn(This,pRetVal) \
+ ( (This)->lpVtbl -> get_interruptReturn(This,pRetVal) )
+
+#define IDiaSymbol5_get_farReturn(This,pRetVal) \
+ ( (This)->lpVtbl -> get_farReturn(This,pRetVal) )
+
+#define IDiaSymbol5_get_isStatic(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isStatic(This,pRetVal) )
+
+#define IDiaSymbol5_get_hasDebugInfo(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasDebugInfo(This,pRetVal) )
+
+#define IDiaSymbol5_get_isLTCG(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isLTCG(This,pRetVal) )
+
+#define IDiaSymbol5_get_isDataAligned(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isDataAligned(This,pRetVal) )
+
+#define IDiaSymbol5_get_hasSecurityChecks(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasSecurityChecks(This,pRetVal) )
+
+#define IDiaSymbol5_get_compilerName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_compilerName(This,pRetVal) )
+
+#define IDiaSymbol5_get_hasAlloca(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasAlloca(This,pRetVal) )
+
+#define IDiaSymbol5_get_hasSetJump(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasSetJump(This,pRetVal) )
+
+#define IDiaSymbol5_get_hasLongJump(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasLongJump(This,pRetVal) )
+
+#define IDiaSymbol5_get_hasInlAsm(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasInlAsm(This,pRetVal) )
+
+#define IDiaSymbol5_get_hasEH(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasEH(This,pRetVal) )
+
+#define IDiaSymbol5_get_hasSEH(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasSEH(This,pRetVal) )
+
+#define IDiaSymbol5_get_hasEHa(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasEHa(This,pRetVal) )
+
+#define IDiaSymbol5_get_isNaked(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isNaked(This,pRetVal) )
+
+#define IDiaSymbol5_get_isAggregated(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAggregated(This,pRetVal) )
+
+#define IDiaSymbol5_get_isSplitted(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSplitted(This,pRetVal) )
+
+#define IDiaSymbol5_get_container(This,pRetVal) \
+ ( (This)->lpVtbl -> get_container(This,pRetVal) )
+
+#define IDiaSymbol5_get_inlSpec(This,pRetVal) \
+ ( (This)->lpVtbl -> get_inlSpec(This,pRetVal) )
+
+#define IDiaSymbol5_get_noStackOrdering(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noStackOrdering(This,pRetVal) )
+
+#define IDiaSymbol5_get_virtualBaseTableType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseTableType(This,pRetVal) )
+
+#define IDiaSymbol5_get_hasManagedCode(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasManagedCode(This,pRetVal) )
+
+#define IDiaSymbol5_get_isHotpatchable(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isHotpatchable(This,pRetVal) )
+
+#define IDiaSymbol5_get_isCVTCIL(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isCVTCIL(This,pRetVal) )
+
+#define IDiaSymbol5_get_isMSILNetmodule(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isMSILNetmodule(This,pRetVal) )
+
+#define IDiaSymbol5_get_isCTypes(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isCTypes(This,pRetVal) )
+
+#define IDiaSymbol5_get_isStripped(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isStripped(This,pRetVal) )
+
+#define IDiaSymbol5_get_frontEndQFE(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndQFE(This,pRetVal) )
+
+#define IDiaSymbol5_get_backEndQFE(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndQFE(This,pRetVal) )
+
+#define IDiaSymbol5_get_wasInlined(This,pRetVal) \
+ ( (This)->lpVtbl -> get_wasInlined(This,pRetVal) )
+
+#define IDiaSymbol5_get_strictGSCheck(This,pRetVal) \
+ ( (This)->lpVtbl -> get_strictGSCheck(This,pRetVal) )
+
+#define IDiaSymbol5_get_isCxxReturnUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isCxxReturnUdt(This,pRetVal) )
+
+#define IDiaSymbol5_get_isConstructorVirtualBase(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isConstructorVirtualBase(This,pRetVal) )
+
+#define IDiaSymbol5_get_RValueReference(This,pRetVal) \
+ ( (This)->lpVtbl -> get_RValueReference(This,pRetVal) )
+
+#define IDiaSymbol5_get_unmodifiedType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unmodifiedType(This,pRetVal) )
+
+#define IDiaSymbol5_get_framePointerPresent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_framePointerPresent(This,pRetVal) )
+
+#define IDiaSymbol5_get_isSafeBuffers(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSafeBuffers(This,pRetVal) )
+
+#define IDiaSymbol5_get_intrinsic(This,pRetVal) \
+ ( (This)->lpVtbl -> get_intrinsic(This,pRetVal) )
+
+#define IDiaSymbol5_get_sealed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_sealed(This,pRetVal) )
+
+#define IDiaSymbol5_get_hfaFloat(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hfaFloat(This,pRetVal) )
+
+#define IDiaSymbol5_get_hfaDouble(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hfaDouble(This,pRetVal) )
+
+#define IDiaSymbol5_get_liveRangeStartAddressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeStartAddressSection(This,pRetVal) )
+
+#define IDiaSymbol5_get_liveRangeStartAddressOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeStartAddressOffset(This,pRetVal) )
+
+#define IDiaSymbol5_get_liveRangeStartRelativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeStartRelativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol5_get_countLiveRanges(This,pRetVal) \
+ ( (This)->lpVtbl -> get_countLiveRanges(This,pRetVal) )
+
+#define IDiaSymbol5_get_liveRangeLength(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeLength(This,pRetVal) )
+
+#define IDiaSymbol5_get_offsetInUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_offsetInUdt(This,pRetVal) )
+
+#define IDiaSymbol5_get_paramBasePointerRegisterId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_paramBasePointerRegisterId(This,pRetVal) )
+
+#define IDiaSymbol5_get_localBasePointerRegisterId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_localBasePointerRegisterId(This,pRetVal) )
+
+#define IDiaSymbol5_get_isLocationControlFlowDependent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isLocationControlFlowDependent(This,pRetVal) )
+
+#define IDiaSymbol5_get_stride(This,pRetVal) \
+ ( (This)->lpVtbl -> get_stride(This,pRetVal) )
+
+#define IDiaSymbol5_get_numberOfRows(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfRows(This,pRetVal) )
+
+#define IDiaSymbol5_get_numberOfColumns(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfColumns(This,pRetVal) )
+
+#define IDiaSymbol5_get_isMatrixRowMajor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isMatrixRowMajor(This,pRetVal) )
+
+#define IDiaSymbol5_get_numericProperties(This,cnt,pcnt,pProperties) \
+ ( (This)->lpVtbl -> get_numericProperties(This,cnt,pcnt,pProperties) )
+
+#define IDiaSymbol5_get_modifierValues(This,cnt,pcnt,pModifiers) \
+ ( (This)->lpVtbl -> get_modifierValues(This,cnt,pcnt,pModifiers) )
+
+#define IDiaSymbol5_get_isReturnValue(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isReturnValue(This,pRetVal) )
+
+#define IDiaSymbol5_get_isOptimizedAway(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isOptimizedAway(This,pRetVal) )
+
+#define IDiaSymbol5_get_builtInKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_builtInKind(This,pRetVal) )
+
+#define IDiaSymbol5_get_registerType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_registerType(This,pRetVal) )
+
+#define IDiaSymbol5_get_baseDataSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseDataSlot(This,pRetVal) )
+
+#define IDiaSymbol5_get_baseDataOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseDataOffset(This,pRetVal) )
+
+#define IDiaSymbol5_get_textureSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_textureSlot(This,pRetVal) )
+
+#define IDiaSymbol5_get_samplerSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_samplerSlot(This,pRetVal) )
+
+#define IDiaSymbol5_get_uavSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_uavSlot(This,pRetVal) )
+
+#define IDiaSymbol5_get_sizeInUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_sizeInUdt(This,pRetVal) )
+
+#define IDiaSymbol5_get_memorySpaceKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_memorySpaceKind(This,pRetVal) )
+
+#define IDiaSymbol5_get_unmodifiedTypeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unmodifiedTypeId(This,pRetVal) )
+
+#define IDiaSymbol5_get_subTypeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_subTypeId(This,pRetVal) )
+
+#define IDiaSymbol5_get_subType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_subType(This,pRetVal) )
+
+#define IDiaSymbol5_get_numberOfModifiers(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfModifiers(This,pRetVal) )
+
+#define IDiaSymbol5_get_numberOfRegisterIndices(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfRegisterIndices(This,pRetVal) )
+
+#define IDiaSymbol5_get_isHLSLData(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isHLSLData(This,pRetVal) )
+
+#define IDiaSymbol5_get_isPointerToDataMember(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPointerToDataMember(This,pRetVal) )
+
+#define IDiaSymbol5_get_isPointerToMemberFunction(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPointerToMemberFunction(This,pRetVal) )
+
+#define IDiaSymbol5_get_isSingleInheritance(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSingleInheritance(This,pRetVal) )
+
+#define IDiaSymbol5_get_isMultipleInheritance(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isMultipleInheritance(This,pRetVal) )
+
+#define IDiaSymbol5_get_isVirtualInheritance(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isVirtualInheritance(This,pRetVal) )
+
+#define IDiaSymbol5_get_restrictedType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_restrictedType(This,pRetVal) )
+
+#define IDiaSymbol5_get_isPointerBasedOnSymbolValue(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPointerBasedOnSymbolValue(This,pRetVal) )
+
+#define IDiaSymbol5_get_baseSymbol(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseSymbol(This,pRetVal) )
+
+#define IDiaSymbol5_get_baseSymbolId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseSymbolId(This,pRetVal) )
+
+#define IDiaSymbol5_get_objectFileName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_objectFileName(This,pRetVal) )
+
+#define IDiaSymbol5_get_isAcceleratorGroupSharedLocal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAcceleratorGroupSharedLocal(This,pRetVal) )
+
+#define IDiaSymbol5_get_isAcceleratorPointerTagLiveRange(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAcceleratorPointerTagLiveRange(This,pRetVal) )
+
+#define IDiaSymbol5_get_isAcceleratorStubFunction(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAcceleratorStubFunction(This,pRetVal) )
+
+#define IDiaSymbol5_get_numberOfAcceleratorPointerTags(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfAcceleratorPointerTags(This,pRetVal) )
+
+#define IDiaSymbol5_get_isSdl(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSdl(This,pRetVal) )
+
+#define IDiaSymbol5_get_isWinRTPointer(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isWinRTPointer(This,pRetVal) )
+
+#define IDiaSymbol5_get_isRefUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isRefUdt(This,pRetVal) )
+
+#define IDiaSymbol5_get_isValueUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isValueUdt(This,pRetVal) )
+
+#define IDiaSymbol5_get_isInterfaceUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isInterfaceUdt(This,pRetVal) )
+
+#define IDiaSymbol5_findInlineFramesByAddr(This,isect,offset,ppResult) \
+ ( (This)->lpVtbl -> findInlineFramesByAddr(This,isect,offset,ppResult) )
+
+#define IDiaSymbol5_findInlineFramesByRVA(This,rva,ppResult) \
+ ( (This)->lpVtbl -> findInlineFramesByRVA(This,rva,ppResult) )
+
+#define IDiaSymbol5_findInlineFramesByVA(This,va,ppResult) \
+ ( (This)->lpVtbl -> findInlineFramesByVA(This,va,ppResult) )
+
+#define IDiaSymbol5_findInlineeLines(This,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLines(This,ppResult) )
+
+#define IDiaSymbol5_findInlineeLinesByAddr(This,isect,offset,length,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByAddr(This,isect,offset,length,ppResult) )
+
+#define IDiaSymbol5_findInlineeLinesByRVA(This,rva,length,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByRVA(This,rva,length,ppResult) )
+
+#define IDiaSymbol5_findInlineeLinesByVA(This,va,length,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByVA(This,va,length,ppResult) )
+
+#define IDiaSymbol5_findSymbolsForAcceleratorPointerTag(This,tagValue,ppResult) \
+ ( (This)->lpVtbl -> findSymbolsForAcceleratorPointerTag(This,tagValue,ppResult) )
+
+#define IDiaSymbol5_findSymbolsByRVAForAcceleratorPointerTag(This,tagValue,rva,ppResult) \
+ ( (This)->lpVtbl -> findSymbolsByRVAForAcceleratorPointerTag(This,tagValue,rva,ppResult) )
+
+#define IDiaSymbol5_get_acceleratorPointerTags(This,cnt,pcnt,pPointerTags) \
+ ( (This)->lpVtbl -> get_acceleratorPointerTags(This,cnt,pcnt,pPointerTags) )
+
+#define IDiaSymbol5_getSrcLineOnTypeDefn(This,ppResult) \
+ ( (This)->lpVtbl -> getSrcLineOnTypeDefn(This,ppResult) )
+
+#define IDiaSymbol5_get_isPGO(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPGO(This,pRetVal) )
+
+#define IDiaSymbol5_get_hasValidPGOCounts(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasValidPGOCounts(This,pRetVal) )
+
+#define IDiaSymbol5_get_isOptimizedForSpeed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isOptimizedForSpeed(This,pRetVal) )
+
+#define IDiaSymbol5_get_PGOEntryCount(This,pRetVal) \
+ ( (This)->lpVtbl -> get_PGOEntryCount(This,pRetVal) )
+
+#define IDiaSymbol5_get_PGOEdgeCount(This,pRetVal) \
+ ( (This)->lpVtbl -> get_PGOEdgeCount(This,pRetVal) )
+
+#define IDiaSymbol5_get_PGODynamicInstructionCount(This,pRetVal) \
+ ( (This)->lpVtbl -> get_PGODynamicInstructionCount(This,pRetVal) )
+
+#define IDiaSymbol5_get_staticSize(This,pRetVal) \
+ ( (This)->lpVtbl -> get_staticSize(This,pRetVal) )
+
+#define IDiaSymbol5_get_finalLiveStaticSize(This,pRetVal) \
+ ( (This)->lpVtbl -> get_finalLiveStaticSize(This,pRetVal) )
+
+#define IDiaSymbol5_get_phaseName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_phaseName(This,pRetVal) )
+
+#define IDiaSymbol5_get_hasControlFlowCheck(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasControlFlowCheck(This,pRetVal) )
+
+#define IDiaSymbol5_get_constantExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_constantExport(This,pRetVal) )
+
+#define IDiaSymbol5_get_dataExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_dataExport(This,pRetVal) )
+
+#define IDiaSymbol5_get_privateExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_privateExport(This,pRetVal) )
+
+#define IDiaSymbol5_get_noNameExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noNameExport(This,pRetVal) )
+
+#define IDiaSymbol5_get_exportHasExplicitlyAssignedOrdinal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exportHasExplicitlyAssignedOrdinal(This,pRetVal) )
+
+#define IDiaSymbol5_get_exportIsForwarder(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exportIsForwarder(This,pRetVal) )
+
+#define IDiaSymbol5_get_ordinal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_ordinal(This,pRetVal) )
+
+#define IDiaSymbol5_get_frameSize(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frameSize(This,pRetVal) )
+
+#define IDiaSymbol5_get_exceptionHandlerAddressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerAddressSection(This,pRetVal) )
+
+#define IDiaSymbol5_get_exceptionHandlerAddressOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerAddressOffset(This,pRetVal) )
+
+#define IDiaSymbol5_get_exceptionHandlerRelativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerRelativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol5_get_exceptionHandlerVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol5_findInputAssemblyFile(This,ppResult) \
+ ( (This)->lpVtbl -> findInputAssemblyFile(This,ppResult) )
+
+#define IDiaSymbol5_get_characteristics(This,pRetVal) \
+ ( (This)->lpVtbl -> get_characteristics(This,pRetVal) )
+
+#define IDiaSymbol5_get_coffGroup(This,pRetVal) \
+ ( (This)->lpVtbl -> get_coffGroup(This,pRetVal) )
+
+#define IDiaSymbol5_get_bindID(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bindID(This,pRetVal) )
+
+#define IDiaSymbol5_get_bindSpace(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bindSpace(This,pRetVal) )
+
+#define IDiaSymbol5_get_bindSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bindSlot(This,pRetVal) )
+
+
+#define IDiaSymbol5_get_isObjCClass(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isObjCClass(This,pRetVal) )
+
+#define IDiaSymbol5_get_isObjCCategory(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isObjCCategory(This,pRetVal) )
+
+#define IDiaSymbol5_get_isObjCProtocol(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isObjCProtocol(This,pRetVal) )
+
+
+#define IDiaSymbol5_get_inlinee(This,pRetVal) \
+ ( (This)->lpVtbl -> get_inlinee(This,pRetVal) )
+
+#define IDiaSymbol5_get_inlineeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_inlineeId(This,pRetVal) )
+
+
+#define IDiaSymbol5_get_noexcept(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noexcept(This,pRetVal) )
+
+
+#define IDiaSymbol5_get_hasAbsoluteAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasAbsoluteAddress(This,pRetVal) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol5_get_hasAbsoluteAddress_Proxy(
+ IDiaSymbol5 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol5_get_hasAbsoluteAddress_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDiaSymbol5_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaSymbol6_INTERFACE_DEFINED__
+#define __IDiaSymbol6_INTERFACE_DEFINED__
+
+/* interface IDiaSymbol6 */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaSymbol6;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("8133dad3-75fe-4234-ac7e-f8e7a1d3cbb3")
+ IDiaSymbol6 : public IDiaSymbol5
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isStaticMemberFunc(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaSymbol6Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaSymbol6 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaSymbol6 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaSymbol6 * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symIndexId )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symTag )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lexicalParent )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_classParent )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataKind )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_locationType )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressOffset )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerId )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offset )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_slot )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_volatileType )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constType )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unalignedType )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_access )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_libraryName )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_platform )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_language )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_editAndContinueEnabled )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndMajor )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndMinor )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndBuild )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndMajor )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndMinor )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndBuild )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sourceFileName )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unused )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_thunkOrdinal )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_thisAdjust )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseOffset )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtual )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_intro )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pure )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_callingConvention )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ VARIANT *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseType )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_token )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_timeStamp )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_guid )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ GUID *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symbolsFileName )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_reference )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_count )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bitPosition )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_arrayIndexType )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_packed )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constructor )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_overloadedOperator )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nested )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasNestedTypes )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasAssignmentOperator )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasCastOperator )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scoped )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseClass )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_indirectVirtualBaseClass )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBasePointerOffset )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualTableShape )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lexicalParentId )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_classParentId )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_typeId )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_arrayIndexTypeId )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualTableShapeId )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_code )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_function )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_managed )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msil )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseDispIndex )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_undecoratedName )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_age )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_signature )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilerGenerated )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressTaken )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rank )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowerBound )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_upperBound )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowerBoundId )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_upperBoundId )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_dataBytes )(
+ IDiaSymbol6 * This,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildren )(
+ IDiaSymbol6 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenEx )(
+ IDiaSymbol6 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenExByAddr )(
+ IDiaSymbol6 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenExByVA )(
+ IDiaSymbol6 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenExByRVA )(
+ IDiaSymbol6 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetSection )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetOffset )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetRelativeVirtualAddress )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVirtualAddress )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_machineType )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oemId )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oemSymbolId )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_types )(
+ IDiaSymbol6 * This,
+ /* [in] */ DWORD cTypes,
+ /* [out] */ DWORD *pcTypes,
+ /* [size_is][size_is][out] */ IDiaSymbol **pTypes);
+
+ HRESULT ( STDMETHODCALLTYPE *get_typeIds )(
+ IDiaSymbol6 * This,
+ /* [in] */ DWORD cTypeIds,
+ /* [out] */ DWORD *pcTypeIds,
+ /* [size_is][out] */ DWORD *pdwTypeIds);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_objectPointerType )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_udtKind )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_undecoratedNameEx )(
+ IDiaSymbol6 * This,
+ /* [in] */ DWORD undecorateOptions,
+ /* [out] */ BSTR *name);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noReturn )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_customCallingConvention )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noInline )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_optimizedCodeDebugInfo )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_notReached )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_interruptReturn )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_farReturn )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isStatic )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasDebugInfo )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isLTCG )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isDataAligned )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasSecurityChecks )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilerName )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasAlloca )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasSetJump )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasLongJump )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasInlAsm )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasEH )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasSEH )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasEHa )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isNaked )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAggregated )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSplitted )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_container )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_inlSpec )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noStackOrdering )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseTableType )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasManagedCode )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isHotpatchable )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCVTCIL )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMSILNetmodule )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCTypes )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isStripped )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndQFE )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndQFE )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_wasInlined )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_strictGSCheck )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCxxReturnUdt )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isConstructorVirtualBase )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RValueReference )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unmodifiedType )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_framePointerPresent )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSafeBuffers )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_intrinsic )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sealed )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hfaFloat )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hfaDouble )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeStartAddressSection )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeStartAddressOffset )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeStartRelativeVirtualAddress )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_countLiveRanges )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeLength )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetInUdt )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_paramBasePointerRegisterId )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_localBasePointerRegisterId )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isLocationControlFlowDependent )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_stride )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfRows )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfColumns )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMatrixRowMajor )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_numericProperties )(
+ IDiaSymbol6 * This,
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ DWORD *pProperties);
+
+ HRESULT ( STDMETHODCALLTYPE *get_modifierValues )(
+ IDiaSymbol6 * This,
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ WORD *pModifiers);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isReturnValue )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isOptimizedAway )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_builtInKind )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerType )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseDataSlot )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseDataOffset )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textureSlot )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_samplerSlot )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_uavSlot )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sizeInUdt )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_memorySpaceKind )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unmodifiedTypeId )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_subTypeId )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_subType )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfModifiers )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfRegisterIndices )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isHLSLData )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPointerToDataMember )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPointerToMemberFunction )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSingleInheritance )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMultipleInheritance )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isVirtualInheritance )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_restrictedType )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPointerBasedOnSymbolValue )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseSymbol )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseSymbolId )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_objectFileName )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAcceleratorGroupSharedLocal )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAcceleratorPointerTagLiveRange )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAcceleratorStubFunction )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfAcceleratorPointerTags )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSdl )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isWinRTPointer )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRefUdt )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isValueUdt )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isInterfaceUdt )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineFramesByAddr )(
+ IDiaSymbol6 * This,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineFramesByRVA )(
+ IDiaSymbol6 * This,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineFramesByVA )(
+ IDiaSymbol6 * This,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLines )(
+ IDiaSymbol6 * This,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByAddr )(
+ IDiaSymbol6 * This,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByRVA )(
+ IDiaSymbol6 * This,
+ /* [in] */ DWORD rva,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByVA )(
+ IDiaSymbol6 * This,
+ /* [in] */ ULONGLONG va,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findSymbolsForAcceleratorPointerTag )(
+ IDiaSymbol6 * This,
+ /* [in] */ DWORD tagValue,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findSymbolsByRVAForAcceleratorPointerTag )(
+ IDiaSymbol6 * This,
+ /* [in] */ DWORD tagValue,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *get_acceleratorPointerTags )(
+ IDiaSymbol6 * This,
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ DWORD *pPointerTags);
+
+ HRESULT ( STDMETHODCALLTYPE *getSrcLineOnTypeDefn )(
+ IDiaSymbol6 * This,
+ /* [out] */ IDiaLineNumber **ppResult);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPGO )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasValidPGOCounts )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isOptimizedForSpeed )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PGOEntryCount )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PGOEdgeCount )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PGODynamicInstructionCount )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_staticSize )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_finalLiveStaticSize )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_phaseName )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasControlFlowCheck )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constantExport )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataExport )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_privateExport )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noNameExport )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exportHasExplicitlyAssignedOrdinal )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exportIsForwarder )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ordinal )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frameSize )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerAddressSection )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerAddressOffset )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerRelativeVirtualAddress )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerVirtualAddress )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *findInputAssemblyFile )(
+ IDiaSymbol6 * This,
+ /* [out] */ IDiaInputAssemblyFile **ppResult);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_characteristics )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_coffGroup )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bindID )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bindSpace )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bindSlot )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isObjCClass )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isObjCCategory )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isObjCProtocol )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_inlinee )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_inlineeId )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noexcept )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasAbsoluteAddress )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isStaticMemberFunc )(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ END_INTERFACE
+ } IDiaSymbol6Vtbl;
+
+ interface IDiaSymbol6
+ {
+ CONST_VTBL struct IDiaSymbol6Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaSymbol6_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaSymbol6_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaSymbol6_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaSymbol6_get_symIndexId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_symIndexId(This,pRetVal) )
+
+#define IDiaSymbol6_get_symTag(This,pRetVal) \
+ ( (This)->lpVtbl -> get_symTag(This,pRetVal) )
+
+#define IDiaSymbol6_get_name(This,pRetVal) \
+ ( (This)->lpVtbl -> get_name(This,pRetVal) )
+
+#define IDiaSymbol6_get_lexicalParent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lexicalParent(This,pRetVal) )
+
+#define IDiaSymbol6_get_classParent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_classParent(This,pRetVal) )
+
+#define IDiaSymbol6_get_type(This,pRetVal) \
+ ( (This)->lpVtbl -> get_type(This,pRetVal) )
+
+#define IDiaSymbol6_get_dataKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_dataKind(This,pRetVal) )
+
+#define IDiaSymbol6_get_locationType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_locationType(This,pRetVal) )
+
+#define IDiaSymbol6_get_addressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressSection(This,pRetVal) )
+
+#define IDiaSymbol6_get_addressOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressOffset(This,pRetVal) )
+
+#define IDiaSymbol6_get_relativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol6_get_virtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualAddress(This,pRetVal) )
+
+#define IDiaSymbol6_get_registerId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_registerId(This,pRetVal) )
+
+#define IDiaSymbol6_get_offset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_offset(This,pRetVal) )
+
+#define IDiaSymbol6_get_length(This,pRetVal) \
+ ( (This)->lpVtbl -> get_length(This,pRetVal) )
+
+#define IDiaSymbol6_get_slot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_slot(This,pRetVal) )
+
+#define IDiaSymbol6_get_volatileType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_volatileType(This,pRetVal) )
+
+#define IDiaSymbol6_get_constType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_constType(This,pRetVal) )
+
+#define IDiaSymbol6_get_unalignedType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unalignedType(This,pRetVal) )
+
+#define IDiaSymbol6_get_access(This,pRetVal) \
+ ( (This)->lpVtbl -> get_access(This,pRetVal) )
+
+#define IDiaSymbol6_get_libraryName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_libraryName(This,pRetVal) )
+
+#define IDiaSymbol6_get_platform(This,pRetVal) \
+ ( (This)->lpVtbl -> get_platform(This,pRetVal) )
+
+#define IDiaSymbol6_get_language(This,pRetVal) \
+ ( (This)->lpVtbl -> get_language(This,pRetVal) )
+
+#define IDiaSymbol6_get_editAndContinueEnabled(This,pRetVal) \
+ ( (This)->lpVtbl -> get_editAndContinueEnabled(This,pRetVal) )
+
+#define IDiaSymbol6_get_frontEndMajor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndMajor(This,pRetVal) )
+
+#define IDiaSymbol6_get_frontEndMinor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndMinor(This,pRetVal) )
+
+#define IDiaSymbol6_get_frontEndBuild(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndBuild(This,pRetVal) )
+
+#define IDiaSymbol6_get_backEndMajor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndMajor(This,pRetVal) )
+
+#define IDiaSymbol6_get_backEndMinor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndMinor(This,pRetVal) )
+
+#define IDiaSymbol6_get_backEndBuild(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndBuild(This,pRetVal) )
+
+#define IDiaSymbol6_get_sourceFileName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_sourceFileName(This,pRetVal) )
+
+#define IDiaSymbol6_get_unused(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unused(This,pRetVal) )
+
+#define IDiaSymbol6_get_thunkOrdinal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_thunkOrdinal(This,pRetVal) )
+
+#define IDiaSymbol6_get_thisAdjust(This,pRetVal) \
+ ( (This)->lpVtbl -> get_thisAdjust(This,pRetVal) )
+
+#define IDiaSymbol6_get_virtualBaseOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseOffset(This,pRetVal) )
+
+#define IDiaSymbol6_get_virtual(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtual(This,pRetVal) )
+
+#define IDiaSymbol6_get_intro(This,pRetVal) \
+ ( (This)->lpVtbl -> get_intro(This,pRetVal) )
+
+#define IDiaSymbol6_get_pure(This,pRetVal) \
+ ( (This)->lpVtbl -> get_pure(This,pRetVal) )
+
+#define IDiaSymbol6_get_callingConvention(This,pRetVal) \
+ ( (This)->lpVtbl -> get_callingConvention(This,pRetVal) )
+
+#define IDiaSymbol6_get_value(This,pRetVal) \
+ ( (This)->lpVtbl -> get_value(This,pRetVal) )
+
+#define IDiaSymbol6_get_baseType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseType(This,pRetVal) )
+
+#define IDiaSymbol6_get_token(This,pRetVal) \
+ ( (This)->lpVtbl -> get_token(This,pRetVal) )
+
+#define IDiaSymbol6_get_timeStamp(This,pRetVal) \
+ ( (This)->lpVtbl -> get_timeStamp(This,pRetVal) )
+
+#define IDiaSymbol6_get_guid(This,pRetVal) \
+ ( (This)->lpVtbl -> get_guid(This,pRetVal) )
+
+#define IDiaSymbol6_get_symbolsFileName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_symbolsFileName(This,pRetVal) )
+
+#define IDiaSymbol6_get_reference(This,pRetVal) \
+ ( (This)->lpVtbl -> get_reference(This,pRetVal) )
+
+#define IDiaSymbol6_get_count(This,pRetVal) \
+ ( (This)->lpVtbl -> get_count(This,pRetVal) )
+
+#define IDiaSymbol6_get_bitPosition(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bitPosition(This,pRetVal) )
+
+#define IDiaSymbol6_get_arrayIndexType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_arrayIndexType(This,pRetVal) )
+
+#define IDiaSymbol6_get_packed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_packed(This,pRetVal) )
+
+#define IDiaSymbol6_get_constructor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_constructor(This,pRetVal) )
+
+#define IDiaSymbol6_get_overloadedOperator(This,pRetVal) \
+ ( (This)->lpVtbl -> get_overloadedOperator(This,pRetVal) )
+
+#define IDiaSymbol6_get_nested(This,pRetVal) \
+ ( (This)->lpVtbl -> get_nested(This,pRetVal) )
+
+#define IDiaSymbol6_get_hasNestedTypes(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasNestedTypes(This,pRetVal) )
+
+#define IDiaSymbol6_get_hasAssignmentOperator(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasAssignmentOperator(This,pRetVal) )
+
+#define IDiaSymbol6_get_hasCastOperator(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasCastOperator(This,pRetVal) )
+
+#define IDiaSymbol6_get_scoped(This,pRetVal) \
+ ( (This)->lpVtbl -> get_scoped(This,pRetVal) )
+
+#define IDiaSymbol6_get_virtualBaseClass(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseClass(This,pRetVal) )
+
+#define IDiaSymbol6_get_indirectVirtualBaseClass(This,pRetVal) \
+ ( (This)->lpVtbl -> get_indirectVirtualBaseClass(This,pRetVal) )
+
+#define IDiaSymbol6_get_virtualBasePointerOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBasePointerOffset(This,pRetVal) )
+
+#define IDiaSymbol6_get_virtualTableShape(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualTableShape(This,pRetVal) )
+
+#define IDiaSymbol6_get_lexicalParentId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lexicalParentId(This,pRetVal) )
+
+#define IDiaSymbol6_get_classParentId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_classParentId(This,pRetVal) )
+
+#define IDiaSymbol6_get_typeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_typeId(This,pRetVal) )
+
+#define IDiaSymbol6_get_arrayIndexTypeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_arrayIndexTypeId(This,pRetVal) )
+
+#define IDiaSymbol6_get_virtualTableShapeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualTableShapeId(This,pRetVal) )
+
+#define IDiaSymbol6_get_code(This,pRetVal) \
+ ( (This)->lpVtbl -> get_code(This,pRetVal) )
+
+#define IDiaSymbol6_get_function(This,pRetVal) \
+ ( (This)->lpVtbl -> get_function(This,pRetVal) )
+
+#define IDiaSymbol6_get_managed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_managed(This,pRetVal) )
+
+#define IDiaSymbol6_get_msil(This,pRetVal) \
+ ( (This)->lpVtbl -> get_msil(This,pRetVal) )
+
+#define IDiaSymbol6_get_virtualBaseDispIndex(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseDispIndex(This,pRetVal) )
+
+#define IDiaSymbol6_get_undecoratedName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_undecoratedName(This,pRetVal) )
+
+#define IDiaSymbol6_get_age(This,pRetVal) \
+ ( (This)->lpVtbl -> get_age(This,pRetVal) )
+
+#define IDiaSymbol6_get_signature(This,pRetVal) \
+ ( (This)->lpVtbl -> get_signature(This,pRetVal) )
+
+#define IDiaSymbol6_get_compilerGenerated(This,pRetVal) \
+ ( (This)->lpVtbl -> get_compilerGenerated(This,pRetVal) )
+
+#define IDiaSymbol6_get_addressTaken(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressTaken(This,pRetVal) )
+
+#define IDiaSymbol6_get_rank(This,pRetVal) \
+ ( (This)->lpVtbl -> get_rank(This,pRetVal) )
+
+#define IDiaSymbol6_get_lowerBound(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lowerBound(This,pRetVal) )
+
+#define IDiaSymbol6_get_upperBound(This,pRetVal) \
+ ( (This)->lpVtbl -> get_upperBound(This,pRetVal) )
+
+#define IDiaSymbol6_get_lowerBoundId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lowerBoundId(This,pRetVal) )
+
+#define IDiaSymbol6_get_upperBoundId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_upperBoundId(This,pRetVal) )
+
+#define IDiaSymbol6_get_dataBytes(This,cbData,pcbData,pbData) \
+ ( (This)->lpVtbl -> get_dataBytes(This,cbData,pcbData,pbData) )
+
+#define IDiaSymbol6_findChildren(This,symtag,name,compareFlags,ppResult) \
+ ( (This)->lpVtbl -> findChildren(This,symtag,name,compareFlags,ppResult) )
+
+#define IDiaSymbol6_findChildrenEx(This,symtag,name,compareFlags,ppResult) \
+ ( (This)->lpVtbl -> findChildrenEx(This,symtag,name,compareFlags,ppResult) )
+
+#define IDiaSymbol6_findChildrenExByAddr(This,symtag,name,compareFlags,isect,offset,ppResult) \
+ ( (This)->lpVtbl -> findChildrenExByAddr(This,symtag,name,compareFlags,isect,offset,ppResult) )
+
+#define IDiaSymbol6_findChildrenExByVA(This,symtag,name,compareFlags,va,ppResult) \
+ ( (This)->lpVtbl -> findChildrenExByVA(This,symtag,name,compareFlags,va,ppResult) )
+
+#define IDiaSymbol6_findChildrenExByRVA(This,symtag,name,compareFlags,rva,ppResult) \
+ ( (This)->lpVtbl -> findChildrenExByRVA(This,symtag,name,compareFlags,rva,ppResult) )
+
+#define IDiaSymbol6_get_targetSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetSection(This,pRetVal) )
+
+#define IDiaSymbol6_get_targetOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetOffset(This,pRetVal) )
+
+#define IDiaSymbol6_get_targetRelativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetRelativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol6_get_targetVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol6_get_machineType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_machineType(This,pRetVal) )
+
+#define IDiaSymbol6_get_oemId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_oemId(This,pRetVal) )
+
+#define IDiaSymbol6_get_oemSymbolId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_oemSymbolId(This,pRetVal) )
+
+#define IDiaSymbol6_get_types(This,cTypes,pcTypes,pTypes) \
+ ( (This)->lpVtbl -> get_types(This,cTypes,pcTypes,pTypes) )
+
+#define IDiaSymbol6_get_typeIds(This,cTypeIds,pcTypeIds,pdwTypeIds) \
+ ( (This)->lpVtbl -> get_typeIds(This,cTypeIds,pcTypeIds,pdwTypeIds) )
+
+#define IDiaSymbol6_get_objectPointerType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_objectPointerType(This,pRetVal) )
+
+#define IDiaSymbol6_get_udtKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_udtKind(This,pRetVal) )
+
+#define IDiaSymbol6_get_undecoratedNameEx(This,undecorateOptions,name) \
+ ( (This)->lpVtbl -> get_undecoratedNameEx(This,undecorateOptions,name) )
+
+#define IDiaSymbol6_get_noReturn(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noReturn(This,pRetVal) )
+
+#define IDiaSymbol6_get_customCallingConvention(This,pRetVal) \
+ ( (This)->lpVtbl -> get_customCallingConvention(This,pRetVal) )
+
+#define IDiaSymbol6_get_noInline(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noInline(This,pRetVal) )
+
+#define IDiaSymbol6_get_optimizedCodeDebugInfo(This,pRetVal) \
+ ( (This)->lpVtbl -> get_optimizedCodeDebugInfo(This,pRetVal) )
+
+#define IDiaSymbol6_get_notReached(This,pRetVal) \
+ ( (This)->lpVtbl -> get_notReached(This,pRetVal) )
+
+#define IDiaSymbol6_get_interruptReturn(This,pRetVal) \
+ ( (This)->lpVtbl -> get_interruptReturn(This,pRetVal) )
+
+#define IDiaSymbol6_get_farReturn(This,pRetVal) \
+ ( (This)->lpVtbl -> get_farReturn(This,pRetVal) )
+
+#define IDiaSymbol6_get_isStatic(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isStatic(This,pRetVal) )
+
+#define IDiaSymbol6_get_hasDebugInfo(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasDebugInfo(This,pRetVal) )
+
+#define IDiaSymbol6_get_isLTCG(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isLTCG(This,pRetVal) )
+
+#define IDiaSymbol6_get_isDataAligned(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isDataAligned(This,pRetVal) )
+
+#define IDiaSymbol6_get_hasSecurityChecks(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasSecurityChecks(This,pRetVal) )
+
+#define IDiaSymbol6_get_compilerName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_compilerName(This,pRetVal) )
+
+#define IDiaSymbol6_get_hasAlloca(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasAlloca(This,pRetVal) )
+
+#define IDiaSymbol6_get_hasSetJump(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasSetJump(This,pRetVal) )
+
+#define IDiaSymbol6_get_hasLongJump(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasLongJump(This,pRetVal) )
+
+#define IDiaSymbol6_get_hasInlAsm(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasInlAsm(This,pRetVal) )
+
+#define IDiaSymbol6_get_hasEH(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasEH(This,pRetVal) )
+
+#define IDiaSymbol6_get_hasSEH(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasSEH(This,pRetVal) )
+
+#define IDiaSymbol6_get_hasEHa(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasEHa(This,pRetVal) )
+
+#define IDiaSymbol6_get_isNaked(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isNaked(This,pRetVal) )
+
+#define IDiaSymbol6_get_isAggregated(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAggregated(This,pRetVal) )
+
+#define IDiaSymbol6_get_isSplitted(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSplitted(This,pRetVal) )
+
+#define IDiaSymbol6_get_container(This,pRetVal) \
+ ( (This)->lpVtbl -> get_container(This,pRetVal) )
+
+#define IDiaSymbol6_get_inlSpec(This,pRetVal) \
+ ( (This)->lpVtbl -> get_inlSpec(This,pRetVal) )
+
+#define IDiaSymbol6_get_noStackOrdering(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noStackOrdering(This,pRetVal) )
+
+#define IDiaSymbol6_get_virtualBaseTableType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseTableType(This,pRetVal) )
+
+#define IDiaSymbol6_get_hasManagedCode(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasManagedCode(This,pRetVal) )
+
+#define IDiaSymbol6_get_isHotpatchable(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isHotpatchable(This,pRetVal) )
+
+#define IDiaSymbol6_get_isCVTCIL(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isCVTCIL(This,pRetVal) )
+
+#define IDiaSymbol6_get_isMSILNetmodule(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isMSILNetmodule(This,pRetVal) )
+
+#define IDiaSymbol6_get_isCTypes(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isCTypes(This,pRetVal) )
+
+#define IDiaSymbol6_get_isStripped(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isStripped(This,pRetVal) )
+
+#define IDiaSymbol6_get_frontEndQFE(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndQFE(This,pRetVal) )
+
+#define IDiaSymbol6_get_backEndQFE(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndQFE(This,pRetVal) )
+
+#define IDiaSymbol6_get_wasInlined(This,pRetVal) \
+ ( (This)->lpVtbl -> get_wasInlined(This,pRetVal) )
+
+#define IDiaSymbol6_get_strictGSCheck(This,pRetVal) \
+ ( (This)->lpVtbl -> get_strictGSCheck(This,pRetVal) )
+
+#define IDiaSymbol6_get_isCxxReturnUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isCxxReturnUdt(This,pRetVal) )
+
+#define IDiaSymbol6_get_isConstructorVirtualBase(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isConstructorVirtualBase(This,pRetVal) )
+
+#define IDiaSymbol6_get_RValueReference(This,pRetVal) \
+ ( (This)->lpVtbl -> get_RValueReference(This,pRetVal) )
+
+#define IDiaSymbol6_get_unmodifiedType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unmodifiedType(This,pRetVal) )
+
+#define IDiaSymbol6_get_framePointerPresent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_framePointerPresent(This,pRetVal) )
+
+#define IDiaSymbol6_get_isSafeBuffers(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSafeBuffers(This,pRetVal) )
+
+#define IDiaSymbol6_get_intrinsic(This,pRetVal) \
+ ( (This)->lpVtbl -> get_intrinsic(This,pRetVal) )
+
+#define IDiaSymbol6_get_sealed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_sealed(This,pRetVal) )
+
+#define IDiaSymbol6_get_hfaFloat(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hfaFloat(This,pRetVal) )
+
+#define IDiaSymbol6_get_hfaDouble(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hfaDouble(This,pRetVal) )
+
+#define IDiaSymbol6_get_liveRangeStartAddressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeStartAddressSection(This,pRetVal) )
+
+#define IDiaSymbol6_get_liveRangeStartAddressOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeStartAddressOffset(This,pRetVal) )
+
+#define IDiaSymbol6_get_liveRangeStartRelativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeStartRelativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol6_get_countLiveRanges(This,pRetVal) \
+ ( (This)->lpVtbl -> get_countLiveRanges(This,pRetVal) )
+
+#define IDiaSymbol6_get_liveRangeLength(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeLength(This,pRetVal) )
+
+#define IDiaSymbol6_get_offsetInUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_offsetInUdt(This,pRetVal) )
+
+#define IDiaSymbol6_get_paramBasePointerRegisterId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_paramBasePointerRegisterId(This,pRetVal) )
+
+#define IDiaSymbol6_get_localBasePointerRegisterId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_localBasePointerRegisterId(This,pRetVal) )
+
+#define IDiaSymbol6_get_isLocationControlFlowDependent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isLocationControlFlowDependent(This,pRetVal) )
+
+#define IDiaSymbol6_get_stride(This,pRetVal) \
+ ( (This)->lpVtbl -> get_stride(This,pRetVal) )
+
+#define IDiaSymbol6_get_numberOfRows(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfRows(This,pRetVal) )
+
+#define IDiaSymbol6_get_numberOfColumns(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfColumns(This,pRetVal) )
+
+#define IDiaSymbol6_get_isMatrixRowMajor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isMatrixRowMajor(This,pRetVal) )
+
+#define IDiaSymbol6_get_numericProperties(This,cnt,pcnt,pProperties) \
+ ( (This)->lpVtbl -> get_numericProperties(This,cnt,pcnt,pProperties) )
+
+#define IDiaSymbol6_get_modifierValues(This,cnt,pcnt,pModifiers) \
+ ( (This)->lpVtbl -> get_modifierValues(This,cnt,pcnt,pModifiers) )
+
+#define IDiaSymbol6_get_isReturnValue(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isReturnValue(This,pRetVal) )
+
+#define IDiaSymbol6_get_isOptimizedAway(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isOptimizedAway(This,pRetVal) )
+
+#define IDiaSymbol6_get_builtInKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_builtInKind(This,pRetVal) )
+
+#define IDiaSymbol6_get_registerType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_registerType(This,pRetVal) )
+
+#define IDiaSymbol6_get_baseDataSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseDataSlot(This,pRetVal) )
+
+#define IDiaSymbol6_get_baseDataOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseDataOffset(This,pRetVal) )
+
+#define IDiaSymbol6_get_textureSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_textureSlot(This,pRetVal) )
+
+#define IDiaSymbol6_get_samplerSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_samplerSlot(This,pRetVal) )
+
+#define IDiaSymbol6_get_uavSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_uavSlot(This,pRetVal) )
+
+#define IDiaSymbol6_get_sizeInUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_sizeInUdt(This,pRetVal) )
+
+#define IDiaSymbol6_get_memorySpaceKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_memorySpaceKind(This,pRetVal) )
+
+#define IDiaSymbol6_get_unmodifiedTypeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unmodifiedTypeId(This,pRetVal) )
+
+#define IDiaSymbol6_get_subTypeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_subTypeId(This,pRetVal) )
+
+#define IDiaSymbol6_get_subType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_subType(This,pRetVal) )
+
+#define IDiaSymbol6_get_numberOfModifiers(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfModifiers(This,pRetVal) )
+
+#define IDiaSymbol6_get_numberOfRegisterIndices(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfRegisterIndices(This,pRetVal) )
+
+#define IDiaSymbol6_get_isHLSLData(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isHLSLData(This,pRetVal) )
+
+#define IDiaSymbol6_get_isPointerToDataMember(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPointerToDataMember(This,pRetVal) )
+
+#define IDiaSymbol6_get_isPointerToMemberFunction(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPointerToMemberFunction(This,pRetVal) )
+
+#define IDiaSymbol6_get_isSingleInheritance(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSingleInheritance(This,pRetVal) )
+
+#define IDiaSymbol6_get_isMultipleInheritance(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isMultipleInheritance(This,pRetVal) )
+
+#define IDiaSymbol6_get_isVirtualInheritance(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isVirtualInheritance(This,pRetVal) )
+
+#define IDiaSymbol6_get_restrictedType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_restrictedType(This,pRetVal) )
+
+#define IDiaSymbol6_get_isPointerBasedOnSymbolValue(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPointerBasedOnSymbolValue(This,pRetVal) )
+
+#define IDiaSymbol6_get_baseSymbol(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseSymbol(This,pRetVal) )
+
+#define IDiaSymbol6_get_baseSymbolId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseSymbolId(This,pRetVal) )
+
+#define IDiaSymbol6_get_objectFileName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_objectFileName(This,pRetVal) )
+
+#define IDiaSymbol6_get_isAcceleratorGroupSharedLocal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAcceleratorGroupSharedLocal(This,pRetVal) )
+
+#define IDiaSymbol6_get_isAcceleratorPointerTagLiveRange(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAcceleratorPointerTagLiveRange(This,pRetVal) )
+
+#define IDiaSymbol6_get_isAcceleratorStubFunction(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAcceleratorStubFunction(This,pRetVal) )
+
+#define IDiaSymbol6_get_numberOfAcceleratorPointerTags(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfAcceleratorPointerTags(This,pRetVal) )
+
+#define IDiaSymbol6_get_isSdl(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSdl(This,pRetVal) )
+
+#define IDiaSymbol6_get_isWinRTPointer(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isWinRTPointer(This,pRetVal) )
+
+#define IDiaSymbol6_get_isRefUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isRefUdt(This,pRetVal) )
+
+#define IDiaSymbol6_get_isValueUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isValueUdt(This,pRetVal) )
+
+#define IDiaSymbol6_get_isInterfaceUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isInterfaceUdt(This,pRetVal) )
+
+#define IDiaSymbol6_findInlineFramesByAddr(This,isect,offset,ppResult) \
+ ( (This)->lpVtbl -> findInlineFramesByAddr(This,isect,offset,ppResult) )
+
+#define IDiaSymbol6_findInlineFramesByRVA(This,rva,ppResult) \
+ ( (This)->lpVtbl -> findInlineFramesByRVA(This,rva,ppResult) )
+
+#define IDiaSymbol6_findInlineFramesByVA(This,va,ppResult) \
+ ( (This)->lpVtbl -> findInlineFramesByVA(This,va,ppResult) )
+
+#define IDiaSymbol6_findInlineeLines(This,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLines(This,ppResult) )
+
+#define IDiaSymbol6_findInlineeLinesByAddr(This,isect,offset,length,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByAddr(This,isect,offset,length,ppResult) )
+
+#define IDiaSymbol6_findInlineeLinesByRVA(This,rva,length,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByRVA(This,rva,length,ppResult) )
+
+#define IDiaSymbol6_findInlineeLinesByVA(This,va,length,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByVA(This,va,length,ppResult) )
+
+#define IDiaSymbol6_findSymbolsForAcceleratorPointerTag(This,tagValue,ppResult) \
+ ( (This)->lpVtbl -> findSymbolsForAcceleratorPointerTag(This,tagValue,ppResult) )
+
+#define IDiaSymbol6_findSymbolsByRVAForAcceleratorPointerTag(This,tagValue,rva,ppResult) \
+ ( (This)->lpVtbl -> findSymbolsByRVAForAcceleratorPointerTag(This,tagValue,rva,ppResult) )
+
+#define IDiaSymbol6_get_acceleratorPointerTags(This,cnt,pcnt,pPointerTags) \
+ ( (This)->lpVtbl -> get_acceleratorPointerTags(This,cnt,pcnt,pPointerTags) )
+
+#define IDiaSymbol6_getSrcLineOnTypeDefn(This,ppResult) \
+ ( (This)->lpVtbl -> getSrcLineOnTypeDefn(This,ppResult) )
+
+#define IDiaSymbol6_get_isPGO(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPGO(This,pRetVal) )
+
+#define IDiaSymbol6_get_hasValidPGOCounts(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasValidPGOCounts(This,pRetVal) )
+
+#define IDiaSymbol6_get_isOptimizedForSpeed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isOptimizedForSpeed(This,pRetVal) )
+
+#define IDiaSymbol6_get_PGOEntryCount(This,pRetVal) \
+ ( (This)->lpVtbl -> get_PGOEntryCount(This,pRetVal) )
+
+#define IDiaSymbol6_get_PGOEdgeCount(This,pRetVal) \
+ ( (This)->lpVtbl -> get_PGOEdgeCount(This,pRetVal) )
+
+#define IDiaSymbol6_get_PGODynamicInstructionCount(This,pRetVal) \
+ ( (This)->lpVtbl -> get_PGODynamicInstructionCount(This,pRetVal) )
+
+#define IDiaSymbol6_get_staticSize(This,pRetVal) \
+ ( (This)->lpVtbl -> get_staticSize(This,pRetVal) )
+
+#define IDiaSymbol6_get_finalLiveStaticSize(This,pRetVal) \
+ ( (This)->lpVtbl -> get_finalLiveStaticSize(This,pRetVal) )
+
+#define IDiaSymbol6_get_phaseName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_phaseName(This,pRetVal) )
+
+#define IDiaSymbol6_get_hasControlFlowCheck(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasControlFlowCheck(This,pRetVal) )
+
+#define IDiaSymbol6_get_constantExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_constantExport(This,pRetVal) )
+
+#define IDiaSymbol6_get_dataExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_dataExport(This,pRetVal) )
+
+#define IDiaSymbol6_get_privateExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_privateExport(This,pRetVal) )
+
+#define IDiaSymbol6_get_noNameExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noNameExport(This,pRetVal) )
+
+#define IDiaSymbol6_get_exportHasExplicitlyAssignedOrdinal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exportHasExplicitlyAssignedOrdinal(This,pRetVal) )
+
+#define IDiaSymbol6_get_exportIsForwarder(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exportIsForwarder(This,pRetVal) )
+
+#define IDiaSymbol6_get_ordinal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_ordinal(This,pRetVal) )
+
+#define IDiaSymbol6_get_frameSize(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frameSize(This,pRetVal) )
+
+#define IDiaSymbol6_get_exceptionHandlerAddressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerAddressSection(This,pRetVal) )
+
+#define IDiaSymbol6_get_exceptionHandlerAddressOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerAddressOffset(This,pRetVal) )
+
+#define IDiaSymbol6_get_exceptionHandlerRelativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerRelativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol6_get_exceptionHandlerVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol6_findInputAssemblyFile(This,ppResult) \
+ ( (This)->lpVtbl -> findInputAssemblyFile(This,ppResult) )
+
+#define IDiaSymbol6_get_characteristics(This,pRetVal) \
+ ( (This)->lpVtbl -> get_characteristics(This,pRetVal) )
+
+#define IDiaSymbol6_get_coffGroup(This,pRetVal) \
+ ( (This)->lpVtbl -> get_coffGroup(This,pRetVal) )
+
+#define IDiaSymbol6_get_bindID(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bindID(This,pRetVal) )
+
+#define IDiaSymbol6_get_bindSpace(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bindSpace(This,pRetVal) )
+
+#define IDiaSymbol6_get_bindSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bindSlot(This,pRetVal) )
+
+
+#define IDiaSymbol6_get_isObjCClass(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isObjCClass(This,pRetVal) )
+
+#define IDiaSymbol6_get_isObjCCategory(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isObjCCategory(This,pRetVal) )
+
+#define IDiaSymbol6_get_isObjCProtocol(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isObjCProtocol(This,pRetVal) )
+
+
+#define IDiaSymbol6_get_inlinee(This,pRetVal) \
+ ( (This)->lpVtbl -> get_inlinee(This,pRetVal) )
+
+#define IDiaSymbol6_get_inlineeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_inlineeId(This,pRetVal) )
+
+
+#define IDiaSymbol6_get_noexcept(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noexcept(This,pRetVal) )
+
+
+#define IDiaSymbol6_get_hasAbsoluteAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasAbsoluteAddress(This,pRetVal) )
+
+
+#define IDiaSymbol6_get_isStaticMemberFunc(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isStaticMemberFunc(This,pRetVal) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol6_get_isStaticMemberFunc_Proxy(
+ IDiaSymbol6 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol6_get_isStaticMemberFunc_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDiaSymbol6_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaSymbol7_INTERFACE_DEFINED__
+#define __IDiaSymbol7_INTERFACE_DEFINED__
+
+/* interface IDiaSymbol7 */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaSymbol7;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("64ce6cd5-7315-4328-86d6-10e303e010b4")
+ IDiaSymbol7 : public IDiaSymbol6
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isSignRet(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaSymbol7Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaSymbol7 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaSymbol7 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaSymbol7 * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symIndexId )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symTag )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lexicalParent )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_classParent )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataKind )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_locationType )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressOffset )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerId )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offset )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_slot )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_volatileType )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constType )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unalignedType )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_access )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_libraryName )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_platform )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_language )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_editAndContinueEnabled )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndMajor )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndMinor )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndBuild )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndMajor )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndMinor )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndBuild )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sourceFileName )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unused )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_thunkOrdinal )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_thisAdjust )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseOffset )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtual )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_intro )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pure )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_callingConvention )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ VARIANT *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseType )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_token )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_timeStamp )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_guid )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ GUID *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symbolsFileName )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_reference )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_count )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bitPosition )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_arrayIndexType )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_packed )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constructor )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_overloadedOperator )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nested )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasNestedTypes )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasAssignmentOperator )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasCastOperator )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scoped )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseClass )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_indirectVirtualBaseClass )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBasePointerOffset )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualTableShape )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lexicalParentId )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_classParentId )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_typeId )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_arrayIndexTypeId )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualTableShapeId )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_code )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_function )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_managed )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msil )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseDispIndex )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_undecoratedName )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_age )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_signature )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilerGenerated )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressTaken )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rank )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowerBound )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_upperBound )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowerBoundId )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_upperBoundId )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_dataBytes )(
+ IDiaSymbol7 * This,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildren )(
+ IDiaSymbol7 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenEx )(
+ IDiaSymbol7 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenExByAddr )(
+ IDiaSymbol7 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenExByVA )(
+ IDiaSymbol7 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findChildrenExByRVA )(
+ IDiaSymbol7 * This,
+ /* [in] */ enum SymTagEnum symtag,
+ /* [in] */ LPCOLESTR name,
+ /* [in] */ DWORD compareFlags,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetSection )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetOffset )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetRelativeVirtualAddress )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVirtualAddress )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_machineType )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oemId )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oemSymbolId )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_types )(
+ IDiaSymbol7 * This,
+ /* [in] */ DWORD cTypes,
+ /* [out] */ DWORD *pcTypes,
+ /* [size_is][size_is][out] */ IDiaSymbol **pTypes);
+
+ HRESULT ( STDMETHODCALLTYPE *get_typeIds )(
+ IDiaSymbol7 * This,
+ /* [in] */ DWORD cTypeIds,
+ /* [out] */ DWORD *pcTypeIds,
+ /* [size_is][out] */ DWORD *pdwTypeIds);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_objectPointerType )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_udtKind )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_undecoratedNameEx )(
+ IDiaSymbol7 * This,
+ /* [in] */ DWORD undecorateOptions,
+ /* [out] */ BSTR *name);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noReturn )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_customCallingConvention )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noInline )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_optimizedCodeDebugInfo )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_notReached )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_interruptReturn )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_farReturn )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isStatic )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasDebugInfo )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isLTCG )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isDataAligned )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasSecurityChecks )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilerName )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasAlloca )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasSetJump )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasLongJump )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasInlAsm )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasEH )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasSEH )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasEHa )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isNaked )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAggregated )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSplitted )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_container )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_inlSpec )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noStackOrdering )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseTableType )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasManagedCode )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isHotpatchable )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCVTCIL )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMSILNetmodule )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCTypes )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isStripped )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndQFE )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndQFE )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_wasInlined )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_strictGSCheck )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCxxReturnUdt )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isConstructorVirtualBase )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RValueReference )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unmodifiedType )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_framePointerPresent )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSafeBuffers )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_intrinsic )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sealed )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hfaFloat )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hfaDouble )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeStartAddressSection )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeStartAddressOffset )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeStartRelativeVirtualAddress )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_countLiveRanges )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_liveRangeLength )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetInUdt )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_paramBasePointerRegisterId )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_localBasePointerRegisterId )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isLocationControlFlowDependent )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_stride )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfRows )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfColumns )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMatrixRowMajor )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_numericProperties )(
+ IDiaSymbol7 * This,
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ DWORD *pProperties);
+
+ HRESULT ( STDMETHODCALLTYPE *get_modifierValues )(
+ IDiaSymbol7 * This,
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ WORD *pModifiers);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isReturnValue )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isOptimizedAway )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_builtInKind )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerType )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseDataSlot )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseDataOffset )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_textureSlot )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_samplerSlot )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_uavSlot )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sizeInUdt )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_memorySpaceKind )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unmodifiedTypeId )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_subTypeId )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_subType )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfModifiers )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfRegisterIndices )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isHLSLData )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPointerToDataMember )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPointerToMemberFunction )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSingleInheritance )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMultipleInheritance )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isVirtualInheritance )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_restrictedType )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPointerBasedOnSymbolValue )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseSymbol )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseSymbolId )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_objectFileName )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAcceleratorGroupSharedLocal )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAcceleratorPointerTagLiveRange )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAcceleratorStubFunction )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberOfAcceleratorPointerTags )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSdl )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isWinRTPointer )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRefUdt )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isValueUdt )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isInterfaceUdt )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineFramesByAddr )(
+ IDiaSymbol7 * This,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineFramesByRVA )(
+ IDiaSymbol7 * This,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineFramesByVA )(
+ IDiaSymbol7 * This,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLines )(
+ IDiaSymbol7 * This,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByAddr )(
+ IDiaSymbol7 * This,
+ /* [in] */ DWORD isect,
+ /* [in] */ DWORD offset,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByRVA )(
+ IDiaSymbol7 * This,
+ /* [in] */ DWORD rva,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findInlineeLinesByVA )(
+ IDiaSymbol7 * This,
+ /* [in] */ ULONGLONG va,
+ /* [in] */ DWORD length,
+ /* [out] */ IDiaEnumLineNumbers **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findSymbolsForAcceleratorPointerTag )(
+ IDiaSymbol7 * This,
+ /* [in] */ DWORD tagValue,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *findSymbolsByRVAForAcceleratorPointerTag )(
+ IDiaSymbol7 * This,
+ /* [in] */ DWORD tagValue,
+ /* [in] */ DWORD rva,
+ /* [out] */ IDiaEnumSymbols **ppResult);
+
+ HRESULT ( STDMETHODCALLTYPE *get_acceleratorPointerTags )(
+ IDiaSymbol7 * This,
+ /* [in] */ DWORD cnt,
+ /* [out] */ DWORD *pcnt,
+ /* [size_is][out] */ DWORD *pPointerTags);
+
+ HRESULT ( STDMETHODCALLTYPE *getSrcLineOnTypeDefn )(
+ IDiaSymbol7 * This,
+ /* [out] */ IDiaLineNumber **ppResult);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isPGO )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasValidPGOCounts )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isOptimizedForSpeed )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PGOEntryCount )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PGOEdgeCount )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PGODynamicInstructionCount )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_staticSize )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_finalLiveStaticSize )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_phaseName )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasControlFlowCheck )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constantExport )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataExport )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_privateExport )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noNameExport )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exportHasExplicitlyAssignedOrdinal )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exportIsForwarder )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ordinal )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frameSize )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerAddressSection )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerAddressOffset )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerRelativeVirtualAddress )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_exceptionHandlerVirtualAddress )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *findInputAssemblyFile )(
+ IDiaSymbol7 * This,
+ /* [out] */ IDiaInputAssemblyFile **ppResult);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_characteristics )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_coffGroup )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bindID )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bindSpace )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bindSlot )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isObjCClass )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isObjCCategory )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isObjCProtocol )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_inlinee )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_inlineeId )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noexcept )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasAbsoluteAddress )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isStaticMemberFunc )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSignRet )(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ END_INTERFACE
+ } IDiaSymbol7Vtbl;
+
+ interface IDiaSymbol7
+ {
+ CONST_VTBL struct IDiaSymbol7Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaSymbol7_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaSymbol7_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaSymbol7_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaSymbol7_get_symIndexId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_symIndexId(This,pRetVal) )
+
+#define IDiaSymbol7_get_symTag(This,pRetVal) \
+ ( (This)->lpVtbl -> get_symTag(This,pRetVal) )
+
+#define IDiaSymbol7_get_name(This,pRetVal) \
+ ( (This)->lpVtbl -> get_name(This,pRetVal) )
+
+#define IDiaSymbol7_get_lexicalParent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lexicalParent(This,pRetVal) )
+
+#define IDiaSymbol7_get_classParent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_classParent(This,pRetVal) )
+
+#define IDiaSymbol7_get_type(This,pRetVal) \
+ ( (This)->lpVtbl -> get_type(This,pRetVal) )
+
+#define IDiaSymbol7_get_dataKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_dataKind(This,pRetVal) )
+
+#define IDiaSymbol7_get_locationType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_locationType(This,pRetVal) )
+
+#define IDiaSymbol7_get_addressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressSection(This,pRetVal) )
+
+#define IDiaSymbol7_get_addressOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressOffset(This,pRetVal) )
+
+#define IDiaSymbol7_get_relativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol7_get_virtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualAddress(This,pRetVal) )
+
+#define IDiaSymbol7_get_registerId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_registerId(This,pRetVal) )
+
+#define IDiaSymbol7_get_offset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_offset(This,pRetVal) )
+
+#define IDiaSymbol7_get_length(This,pRetVal) \
+ ( (This)->lpVtbl -> get_length(This,pRetVal) )
+
+#define IDiaSymbol7_get_slot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_slot(This,pRetVal) )
+
+#define IDiaSymbol7_get_volatileType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_volatileType(This,pRetVal) )
+
+#define IDiaSymbol7_get_constType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_constType(This,pRetVal) )
+
+#define IDiaSymbol7_get_unalignedType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unalignedType(This,pRetVal) )
+
+#define IDiaSymbol7_get_access(This,pRetVal) \
+ ( (This)->lpVtbl -> get_access(This,pRetVal) )
+
+#define IDiaSymbol7_get_libraryName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_libraryName(This,pRetVal) )
+
+#define IDiaSymbol7_get_platform(This,pRetVal) \
+ ( (This)->lpVtbl -> get_platform(This,pRetVal) )
+
+#define IDiaSymbol7_get_language(This,pRetVal) \
+ ( (This)->lpVtbl -> get_language(This,pRetVal) )
+
+#define IDiaSymbol7_get_editAndContinueEnabled(This,pRetVal) \
+ ( (This)->lpVtbl -> get_editAndContinueEnabled(This,pRetVal) )
+
+#define IDiaSymbol7_get_frontEndMajor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndMajor(This,pRetVal) )
+
+#define IDiaSymbol7_get_frontEndMinor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndMinor(This,pRetVal) )
+
+#define IDiaSymbol7_get_frontEndBuild(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndBuild(This,pRetVal) )
+
+#define IDiaSymbol7_get_backEndMajor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndMajor(This,pRetVal) )
+
+#define IDiaSymbol7_get_backEndMinor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndMinor(This,pRetVal) )
+
+#define IDiaSymbol7_get_backEndBuild(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndBuild(This,pRetVal) )
+
+#define IDiaSymbol7_get_sourceFileName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_sourceFileName(This,pRetVal) )
+
+#define IDiaSymbol7_get_unused(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unused(This,pRetVal) )
+
+#define IDiaSymbol7_get_thunkOrdinal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_thunkOrdinal(This,pRetVal) )
+
+#define IDiaSymbol7_get_thisAdjust(This,pRetVal) \
+ ( (This)->lpVtbl -> get_thisAdjust(This,pRetVal) )
+
+#define IDiaSymbol7_get_virtualBaseOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseOffset(This,pRetVal) )
+
+#define IDiaSymbol7_get_virtual(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtual(This,pRetVal) )
+
+#define IDiaSymbol7_get_intro(This,pRetVal) \
+ ( (This)->lpVtbl -> get_intro(This,pRetVal) )
+
+#define IDiaSymbol7_get_pure(This,pRetVal) \
+ ( (This)->lpVtbl -> get_pure(This,pRetVal) )
+
+#define IDiaSymbol7_get_callingConvention(This,pRetVal) \
+ ( (This)->lpVtbl -> get_callingConvention(This,pRetVal) )
+
+#define IDiaSymbol7_get_value(This,pRetVal) \
+ ( (This)->lpVtbl -> get_value(This,pRetVal) )
+
+#define IDiaSymbol7_get_baseType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseType(This,pRetVal) )
+
+#define IDiaSymbol7_get_token(This,pRetVal) \
+ ( (This)->lpVtbl -> get_token(This,pRetVal) )
+
+#define IDiaSymbol7_get_timeStamp(This,pRetVal) \
+ ( (This)->lpVtbl -> get_timeStamp(This,pRetVal) )
+
+#define IDiaSymbol7_get_guid(This,pRetVal) \
+ ( (This)->lpVtbl -> get_guid(This,pRetVal) )
+
+#define IDiaSymbol7_get_symbolsFileName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_symbolsFileName(This,pRetVal) )
+
+#define IDiaSymbol7_get_reference(This,pRetVal) \
+ ( (This)->lpVtbl -> get_reference(This,pRetVal) )
+
+#define IDiaSymbol7_get_count(This,pRetVal) \
+ ( (This)->lpVtbl -> get_count(This,pRetVal) )
+
+#define IDiaSymbol7_get_bitPosition(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bitPosition(This,pRetVal) )
+
+#define IDiaSymbol7_get_arrayIndexType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_arrayIndexType(This,pRetVal) )
+
+#define IDiaSymbol7_get_packed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_packed(This,pRetVal) )
+
+#define IDiaSymbol7_get_constructor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_constructor(This,pRetVal) )
+
+#define IDiaSymbol7_get_overloadedOperator(This,pRetVal) \
+ ( (This)->lpVtbl -> get_overloadedOperator(This,pRetVal) )
+
+#define IDiaSymbol7_get_nested(This,pRetVal) \
+ ( (This)->lpVtbl -> get_nested(This,pRetVal) )
+
+#define IDiaSymbol7_get_hasNestedTypes(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasNestedTypes(This,pRetVal) )
+
+#define IDiaSymbol7_get_hasAssignmentOperator(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasAssignmentOperator(This,pRetVal) )
+
+#define IDiaSymbol7_get_hasCastOperator(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasCastOperator(This,pRetVal) )
+
+#define IDiaSymbol7_get_scoped(This,pRetVal) \
+ ( (This)->lpVtbl -> get_scoped(This,pRetVal) )
+
+#define IDiaSymbol7_get_virtualBaseClass(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseClass(This,pRetVal) )
+
+#define IDiaSymbol7_get_indirectVirtualBaseClass(This,pRetVal) \
+ ( (This)->lpVtbl -> get_indirectVirtualBaseClass(This,pRetVal) )
+
+#define IDiaSymbol7_get_virtualBasePointerOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBasePointerOffset(This,pRetVal) )
+
+#define IDiaSymbol7_get_virtualTableShape(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualTableShape(This,pRetVal) )
+
+#define IDiaSymbol7_get_lexicalParentId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lexicalParentId(This,pRetVal) )
+
+#define IDiaSymbol7_get_classParentId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_classParentId(This,pRetVal) )
+
+#define IDiaSymbol7_get_typeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_typeId(This,pRetVal) )
+
+#define IDiaSymbol7_get_arrayIndexTypeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_arrayIndexTypeId(This,pRetVal) )
+
+#define IDiaSymbol7_get_virtualTableShapeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualTableShapeId(This,pRetVal) )
+
+#define IDiaSymbol7_get_code(This,pRetVal) \
+ ( (This)->lpVtbl -> get_code(This,pRetVal) )
+
+#define IDiaSymbol7_get_function(This,pRetVal) \
+ ( (This)->lpVtbl -> get_function(This,pRetVal) )
+
+#define IDiaSymbol7_get_managed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_managed(This,pRetVal) )
+
+#define IDiaSymbol7_get_msil(This,pRetVal) \
+ ( (This)->lpVtbl -> get_msil(This,pRetVal) )
+
+#define IDiaSymbol7_get_virtualBaseDispIndex(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseDispIndex(This,pRetVal) )
+
+#define IDiaSymbol7_get_undecoratedName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_undecoratedName(This,pRetVal) )
+
+#define IDiaSymbol7_get_age(This,pRetVal) \
+ ( (This)->lpVtbl -> get_age(This,pRetVal) )
+
+#define IDiaSymbol7_get_signature(This,pRetVal) \
+ ( (This)->lpVtbl -> get_signature(This,pRetVal) )
+
+#define IDiaSymbol7_get_compilerGenerated(This,pRetVal) \
+ ( (This)->lpVtbl -> get_compilerGenerated(This,pRetVal) )
+
+#define IDiaSymbol7_get_addressTaken(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressTaken(This,pRetVal) )
+
+#define IDiaSymbol7_get_rank(This,pRetVal) \
+ ( (This)->lpVtbl -> get_rank(This,pRetVal) )
+
+#define IDiaSymbol7_get_lowerBound(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lowerBound(This,pRetVal) )
+
+#define IDiaSymbol7_get_upperBound(This,pRetVal) \
+ ( (This)->lpVtbl -> get_upperBound(This,pRetVal) )
+
+#define IDiaSymbol7_get_lowerBoundId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lowerBoundId(This,pRetVal) )
+
+#define IDiaSymbol7_get_upperBoundId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_upperBoundId(This,pRetVal) )
+
+#define IDiaSymbol7_get_dataBytes(This,cbData,pcbData,pbData) \
+ ( (This)->lpVtbl -> get_dataBytes(This,cbData,pcbData,pbData) )
+
+#define IDiaSymbol7_findChildren(This,symtag,name,compareFlags,ppResult) \
+ ( (This)->lpVtbl -> findChildren(This,symtag,name,compareFlags,ppResult) )
+
+#define IDiaSymbol7_findChildrenEx(This,symtag,name,compareFlags,ppResult) \
+ ( (This)->lpVtbl -> findChildrenEx(This,symtag,name,compareFlags,ppResult) )
+
+#define IDiaSymbol7_findChildrenExByAddr(This,symtag,name,compareFlags,isect,offset,ppResult) \
+ ( (This)->lpVtbl -> findChildrenExByAddr(This,symtag,name,compareFlags,isect,offset,ppResult) )
+
+#define IDiaSymbol7_findChildrenExByVA(This,symtag,name,compareFlags,va,ppResult) \
+ ( (This)->lpVtbl -> findChildrenExByVA(This,symtag,name,compareFlags,va,ppResult) )
+
+#define IDiaSymbol7_findChildrenExByRVA(This,symtag,name,compareFlags,rva,ppResult) \
+ ( (This)->lpVtbl -> findChildrenExByRVA(This,symtag,name,compareFlags,rva,ppResult) )
+
+#define IDiaSymbol7_get_targetSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetSection(This,pRetVal) )
+
+#define IDiaSymbol7_get_targetOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetOffset(This,pRetVal) )
+
+#define IDiaSymbol7_get_targetRelativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetRelativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol7_get_targetVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_targetVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol7_get_machineType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_machineType(This,pRetVal) )
+
+#define IDiaSymbol7_get_oemId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_oemId(This,pRetVal) )
+
+#define IDiaSymbol7_get_oemSymbolId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_oemSymbolId(This,pRetVal) )
+
+#define IDiaSymbol7_get_types(This,cTypes,pcTypes,pTypes) \
+ ( (This)->lpVtbl -> get_types(This,cTypes,pcTypes,pTypes) )
+
+#define IDiaSymbol7_get_typeIds(This,cTypeIds,pcTypeIds,pdwTypeIds) \
+ ( (This)->lpVtbl -> get_typeIds(This,cTypeIds,pcTypeIds,pdwTypeIds) )
+
+#define IDiaSymbol7_get_objectPointerType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_objectPointerType(This,pRetVal) )
+
+#define IDiaSymbol7_get_udtKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_udtKind(This,pRetVal) )
+
+#define IDiaSymbol7_get_undecoratedNameEx(This,undecorateOptions,name) \
+ ( (This)->lpVtbl -> get_undecoratedNameEx(This,undecorateOptions,name) )
+
+#define IDiaSymbol7_get_noReturn(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noReturn(This,pRetVal) )
+
+#define IDiaSymbol7_get_customCallingConvention(This,pRetVal) \
+ ( (This)->lpVtbl -> get_customCallingConvention(This,pRetVal) )
+
+#define IDiaSymbol7_get_noInline(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noInline(This,pRetVal) )
+
+#define IDiaSymbol7_get_optimizedCodeDebugInfo(This,pRetVal) \
+ ( (This)->lpVtbl -> get_optimizedCodeDebugInfo(This,pRetVal) )
+
+#define IDiaSymbol7_get_notReached(This,pRetVal) \
+ ( (This)->lpVtbl -> get_notReached(This,pRetVal) )
+
+#define IDiaSymbol7_get_interruptReturn(This,pRetVal) \
+ ( (This)->lpVtbl -> get_interruptReturn(This,pRetVal) )
+
+#define IDiaSymbol7_get_farReturn(This,pRetVal) \
+ ( (This)->lpVtbl -> get_farReturn(This,pRetVal) )
+
+#define IDiaSymbol7_get_isStatic(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isStatic(This,pRetVal) )
+
+#define IDiaSymbol7_get_hasDebugInfo(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasDebugInfo(This,pRetVal) )
+
+#define IDiaSymbol7_get_isLTCG(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isLTCG(This,pRetVal) )
+
+#define IDiaSymbol7_get_isDataAligned(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isDataAligned(This,pRetVal) )
+
+#define IDiaSymbol7_get_hasSecurityChecks(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasSecurityChecks(This,pRetVal) )
+
+#define IDiaSymbol7_get_compilerName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_compilerName(This,pRetVal) )
+
+#define IDiaSymbol7_get_hasAlloca(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasAlloca(This,pRetVal) )
+
+#define IDiaSymbol7_get_hasSetJump(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasSetJump(This,pRetVal) )
+
+#define IDiaSymbol7_get_hasLongJump(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasLongJump(This,pRetVal) )
+
+#define IDiaSymbol7_get_hasInlAsm(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasInlAsm(This,pRetVal) )
+
+#define IDiaSymbol7_get_hasEH(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasEH(This,pRetVal) )
+
+#define IDiaSymbol7_get_hasSEH(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasSEH(This,pRetVal) )
+
+#define IDiaSymbol7_get_hasEHa(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasEHa(This,pRetVal) )
+
+#define IDiaSymbol7_get_isNaked(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isNaked(This,pRetVal) )
+
+#define IDiaSymbol7_get_isAggregated(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAggregated(This,pRetVal) )
+
+#define IDiaSymbol7_get_isSplitted(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSplitted(This,pRetVal) )
+
+#define IDiaSymbol7_get_container(This,pRetVal) \
+ ( (This)->lpVtbl -> get_container(This,pRetVal) )
+
+#define IDiaSymbol7_get_inlSpec(This,pRetVal) \
+ ( (This)->lpVtbl -> get_inlSpec(This,pRetVal) )
+
+#define IDiaSymbol7_get_noStackOrdering(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noStackOrdering(This,pRetVal) )
+
+#define IDiaSymbol7_get_virtualBaseTableType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualBaseTableType(This,pRetVal) )
+
+#define IDiaSymbol7_get_hasManagedCode(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasManagedCode(This,pRetVal) )
+
+#define IDiaSymbol7_get_isHotpatchable(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isHotpatchable(This,pRetVal) )
+
+#define IDiaSymbol7_get_isCVTCIL(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isCVTCIL(This,pRetVal) )
+
+#define IDiaSymbol7_get_isMSILNetmodule(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isMSILNetmodule(This,pRetVal) )
+
+#define IDiaSymbol7_get_isCTypes(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isCTypes(This,pRetVal) )
+
+#define IDiaSymbol7_get_isStripped(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isStripped(This,pRetVal) )
+
+#define IDiaSymbol7_get_frontEndQFE(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frontEndQFE(This,pRetVal) )
+
+#define IDiaSymbol7_get_backEndQFE(This,pRetVal) \
+ ( (This)->lpVtbl -> get_backEndQFE(This,pRetVal) )
+
+#define IDiaSymbol7_get_wasInlined(This,pRetVal) \
+ ( (This)->lpVtbl -> get_wasInlined(This,pRetVal) )
+
+#define IDiaSymbol7_get_strictGSCheck(This,pRetVal) \
+ ( (This)->lpVtbl -> get_strictGSCheck(This,pRetVal) )
+
+#define IDiaSymbol7_get_isCxxReturnUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isCxxReturnUdt(This,pRetVal) )
+
+#define IDiaSymbol7_get_isConstructorVirtualBase(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isConstructorVirtualBase(This,pRetVal) )
+
+#define IDiaSymbol7_get_RValueReference(This,pRetVal) \
+ ( (This)->lpVtbl -> get_RValueReference(This,pRetVal) )
+
+#define IDiaSymbol7_get_unmodifiedType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unmodifiedType(This,pRetVal) )
+
+#define IDiaSymbol7_get_framePointerPresent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_framePointerPresent(This,pRetVal) )
+
+#define IDiaSymbol7_get_isSafeBuffers(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSafeBuffers(This,pRetVal) )
+
+#define IDiaSymbol7_get_intrinsic(This,pRetVal) \
+ ( (This)->lpVtbl -> get_intrinsic(This,pRetVal) )
+
+#define IDiaSymbol7_get_sealed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_sealed(This,pRetVal) )
+
+#define IDiaSymbol7_get_hfaFloat(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hfaFloat(This,pRetVal) )
+
+#define IDiaSymbol7_get_hfaDouble(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hfaDouble(This,pRetVal) )
+
+#define IDiaSymbol7_get_liveRangeStartAddressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeStartAddressSection(This,pRetVal) )
+
+#define IDiaSymbol7_get_liveRangeStartAddressOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeStartAddressOffset(This,pRetVal) )
+
+#define IDiaSymbol7_get_liveRangeStartRelativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeStartRelativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol7_get_countLiveRanges(This,pRetVal) \
+ ( (This)->lpVtbl -> get_countLiveRanges(This,pRetVal) )
+
+#define IDiaSymbol7_get_liveRangeLength(This,pRetVal) \
+ ( (This)->lpVtbl -> get_liveRangeLength(This,pRetVal) )
+
+#define IDiaSymbol7_get_offsetInUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_offsetInUdt(This,pRetVal) )
+
+#define IDiaSymbol7_get_paramBasePointerRegisterId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_paramBasePointerRegisterId(This,pRetVal) )
+
+#define IDiaSymbol7_get_localBasePointerRegisterId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_localBasePointerRegisterId(This,pRetVal) )
+
+#define IDiaSymbol7_get_isLocationControlFlowDependent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isLocationControlFlowDependent(This,pRetVal) )
+
+#define IDiaSymbol7_get_stride(This,pRetVal) \
+ ( (This)->lpVtbl -> get_stride(This,pRetVal) )
+
+#define IDiaSymbol7_get_numberOfRows(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfRows(This,pRetVal) )
+
+#define IDiaSymbol7_get_numberOfColumns(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfColumns(This,pRetVal) )
+
+#define IDiaSymbol7_get_isMatrixRowMajor(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isMatrixRowMajor(This,pRetVal) )
+
+#define IDiaSymbol7_get_numericProperties(This,cnt,pcnt,pProperties) \
+ ( (This)->lpVtbl -> get_numericProperties(This,cnt,pcnt,pProperties) )
+
+#define IDiaSymbol7_get_modifierValues(This,cnt,pcnt,pModifiers) \
+ ( (This)->lpVtbl -> get_modifierValues(This,cnt,pcnt,pModifiers) )
+
+#define IDiaSymbol7_get_isReturnValue(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isReturnValue(This,pRetVal) )
+
+#define IDiaSymbol7_get_isOptimizedAway(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isOptimizedAway(This,pRetVal) )
+
+#define IDiaSymbol7_get_builtInKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_builtInKind(This,pRetVal) )
+
+#define IDiaSymbol7_get_registerType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_registerType(This,pRetVal) )
+
+#define IDiaSymbol7_get_baseDataSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseDataSlot(This,pRetVal) )
+
+#define IDiaSymbol7_get_baseDataOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseDataOffset(This,pRetVal) )
+
+#define IDiaSymbol7_get_textureSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_textureSlot(This,pRetVal) )
+
+#define IDiaSymbol7_get_samplerSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_samplerSlot(This,pRetVal) )
+
+#define IDiaSymbol7_get_uavSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_uavSlot(This,pRetVal) )
+
+#define IDiaSymbol7_get_sizeInUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_sizeInUdt(This,pRetVal) )
+
+#define IDiaSymbol7_get_memorySpaceKind(This,pRetVal) \
+ ( (This)->lpVtbl -> get_memorySpaceKind(This,pRetVal) )
+
+#define IDiaSymbol7_get_unmodifiedTypeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_unmodifiedTypeId(This,pRetVal) )
+
+#define IDiaSymbol7_get_subTypeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_subTypeId(This,pRetVal) )
+
+#define IDiaSymbol7_get_subType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_subType(This,pRetVal) )
+
+#define IDiaSymbol7_get_numberOfModifiers(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfModifiers(This,pRetVal) )
+
+#define IDiaSymbol7_get_numberOfRegisterIndices(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfRegisterIndices(This,pRetVal) )
+
+#define IDiaSymbol7_get_isHLSLData(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isHLSLData(This,pRetVal) )
+
+#define IDiaSymbol7_get_isPointerToDataMember(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPointerToDataMember(This,pRetVal) )
+
+#define IDiaSymbol7_get_isPointerToMemberFunction(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPointerToMemberFunction(This,pRetVal) )
+
+#define IDiaSymbol7_get_isSingleInheritance(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSingleInheritance(This,pRetVal) )
+
+#define IDiaSymbol7_get_isMultipleInheritance(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isMultipleInheritance(This,pRetVal) )
+
+#define IDiaSymbol7_get_isVirtualInheritance(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isVirtualInheritance(This,pRetVal) )
+
+#define IDiaSymbol7_get_restrictedType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_restrictedType(This,pRetVal) )
+
+#define IDiaSymbol7_get_isPointerBasedOnSymbolValue(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPointerBasedOnSymbolValue(This,pRetVal) )
+
+#define IDiaSymbol7_get_baseSymbol(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseSymbol(This,pRetVal) )
+
+#define IDiaSymbol7_get_baseSymbolId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_baseSymbolId(This,pRetVal) )
+
+#define IDiaSymbol7_get_objectFileName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_objectFileName(This,pRetVal) )
+
+#define IDiaSymbol7_get_isAcceleratorGroupSharedLocal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAcceleratorGroupSharedLocal(This,pRetVal) )
+
+#define IDiaSymbol7_get_isAcceleratorPointerTagLiveRange(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAcceleratorPointerTagLiveRange(This,pRetVal) )
+
+#define IDiaSymbol7_get_isAcceleratorStubFunction(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isAcceleratorStubFunction(This,pRetVal) )
+
+#define IDiaSymbol7_get_numberOfAcceleratorPointerTags(This,pRetVal) \
+ ( (This)->lpVtbl -> get_numberOfAcceleratorPointerTags(This,pRetVal) )
+
+#define IDiaSymbol7_get_isSdl(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSdl(This,pRetVal) )
+
+#define IDiaSymbol7_get_isWinRTPointer(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isWinRTPointer(This,pRetVal) )
+
+#define IDiaSymbol7_get_isRefUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isRefUdt(This,pRetVal) )
+
+#define IDiaSymbol7_get_isValueUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isValueUdt(This,pRetVal) )
+
+#define IDiaSymbol7_get_isInterfaceUdt(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isInterfaceUdt(This,pRetVal) )
+
+#define IDiaSymbol7_findInlineFramesByAddr(This,isect,offset,ppResult) \
+ ( (This)->lpVtbl -> findInlineFramesByAddr(This,isect,offset,ppResult) )
+
+#define IDiaSymbol7_findInlineFramesByRVA(This,rva,ppResult) \
+ ( (This)->lpVtbl -> findInlineFramesByRVA(This,rva,ppResult) )
+
+#define IDiaSymbol7_findInlineFramesByVA(This,va,ppResult) \
+ ( (This)->lpVtbl -> findInlineFramesByVA(This,va,ppResult) )
+
+#define IDiaSymbol7_findInlineeLines(This,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLines(This,ppResult) )
+
+#define IDiaSymbol7_findInlineeLinesByAddr(This,isect,offset,length,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByAddr(This,isect,offset,length,ppResult) )
+
+#define IDiaSymbol7_findInlineeLinesByRVA(This,rva,length,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByRVA(This,rva,length,ppResult) )
+
+#define IDiaSymbol7_findInlineeLinesByVA(This,va,length,ppResult) \
+ ( (This)->lpVtbl -> findInlineeLinesByVA(This,va,length,ppResult) )
+
+#define IDiaSymbol7_findSymbolsForAcceleratorPointerTag(This,tagValue,ppResult) \
+ ( (This)->lpVtbl -> findSymbolsForAcceleratorPointerTag(This,tagValue,ppResult) )
+
+#define IDiaSymbol7_findSymbolsByRVAForAcceleratorPointerTag(This,tagValue,rva,ppResult) \
+ ( (This)->lpVtbl -> findSymbolsByRVAForAcceleratorPointerTag(This,tagValue,rva,ppResult) )
+
+#define IDiaSymbol7_get_acceleratorPointerTags(This,cnt,pcnt,pPointerTags) \
+ ( (This)->lpVtbl -> get_acceleratorPointerTags(This,cnt,pcnt,pPointerTags) )
+
+#define IDiaSymbol7_getSrcLineOnTypeDefn(This,ppResult) \
+ ( (This)->lpVtbl -> getSrcLineOnTypeDefn(This,ppResult) )
+
+#define IDiaSymbol7_get_isPGO(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isPGO(This,pRetVal) )
+
+#define IDiaSymbol7_get_hasValidPGOCounts(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasValidPGOCounts(This,pRetVal) )
+
+#define IDiaSymbol7_get_isOptimizedForSpeed(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isOptimizedForSpeed(This,pRetVal) )
+
+#define IDiaSymbol7_get_PGOEntryCount(This,pRetVal) \
+ ( (This)->lpVtbl -> get_PGOEntryCount(This,pRetVal) )
+
+#define IDiaSymbol7_get_PGOEdgeCount(This,pRetVal) \
+ ( (This)->lpVtbl -> get_PGOEdgeCount(This,pRetVal) )
+
+#define IDiaSymbol7_get_PGODynamicInstructionCount(This,pRetVal) \
+ ( (This)->lpVtbl -> get_PGODynamicInstructionCount(This,pRetVal) )
+
+#define IDiaSymbol7_get_staticSize(This,pRetVal) \
+ ( (This)->lpVtbl -> get_staticSize(This,pRetVal) )
+
+#define IDiaSymbol7_get_finalLiveStaticSize(This,pRetVal) \
+ ( (This)->lpVtbl -> get_finalLiveStaticSize(This,pRetVal) )
+
+#define IDiaSymbol7_get_phaseName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_phaseName(This,pRetVal) )
+
+#define IDiaSymbol7_get_hasControlFlowCheck(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasControlFlowCheck(This,pRetVal) )
+
+#define IDiaSymbol7_get_constantExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_constantExport(This,pRetVal) )
+
+#define IDiaSymbol7_get_dataExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_dataExport(This,pRetVal) )
+
+#define IDiaSymbol7_get_privateExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_privateExport(This,pRetVal) )
+
+#define IDiaSymbol7_get_noNameExport(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noNameExport(This,pRetVal) )
+
+#define IDiaSymbol7_get_exportHasExplicitlyAssignedOrdinal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exportHasExplicitlyAssignedOrdinal(This,pRetVal) )
+
+#define IDiaSymbol7_get_exportIsForwarder(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exportIsForwarder(This,pRetVal) )
+
+#define IDiaSymbol7_get_ordinal(This,pRetVal) \
+ ( (This)->lpVtbl -> get_ordinal(This,pRetVal) )
+
+#define IDiaSymbol7_get_frameSize(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frameSize(This,pRetVal) )
+
+#define IDiaSymbol7_get_exceptionHandlerAddressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerAddressSection(This,pRetVal) )
+
+#define IDiaSymbol7_get_exceptionHandlerAddressOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerAddressOffset(This,pRetVal) )
+
+#define IDiaSymbol7_get_exceptionHandlerRelativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerRelativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol7_get_exceptionHandlerVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_exceptionHandlerVirtualAddress(This,pRetVal) )
+
+#define IDiaSymbol7_findInputAssemblyFile(This,ppResult) \
+ ( (This)->lpVtbl -> findInputAssemblyFile(This,ppResult) )
+
+#define IDiaSymbol7_get_characteristics(This,pRetVal) \
+ ( (This)->lpVtbl -> get_characteristics(This,pRetVal) )
+
+#define IDiaSymbol7_get_coffGroup(This,pRetVal) \
+ ( (This)->lpVtbl -> get_coffGroup(This,pRetVal) )
+
+#define IDiaSymbol7_get_bindID(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bindID(This,pRetVal) )
+
+#define IDiaSymbol7_get_bindSpace(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bindSpace(This,pRetVal) )
+
+#define IDiaSymbol7_get_bindSlot(This,pRetVal) \
+ ( (This)->lpVtbl -> get_bindSlot(This,pRetVal) )
+
+
+#define IDiaSymbol7_get_isObjCClass(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isObjCClass(This,pRetVal) )
+
+#define IDiaSymbol7_get_isObjCCategory(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isObjCCategory(This,pRetVal) )
+
+#define IDiaSymbol7_get_isObjCProtocol(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isObjCProtocol(This,pRetVal) )
+
+
+#define IDiaSymbol7_get_inlinee(This,pRetVal) \
+ ( (This)->lpVtbl -> get_inlinee(This,pRetVal) )
+
+#define IDiaSymbol7_get_inlineeId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_inlineeId(This,pRetVal) )
+
+
+#define IDiaSymbol7_get_noexcept(This,pRetVal) \
+ ( (This)->lpVtbl -> get_noexcept(This,pRetVal) )
+
+
+#define IDiaSymbol7_get_hasAbsoluteAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_hasAbsoluteAddress(This,pRetVal) )
+
+
+#define IDiaSymbol7_get_isStaticMemberFunc(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isStaticMemberFunc(This,pRetVal) )
+
+
+#define IDiaSymbol7_get_isSignRet(This,pRetVal) \
+ ( (This)->lpVtbl -> get_isSignRet(This,pRetVal) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol7_get_isSignRet_Proxy(
+ IDiaSymbol7 * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+
+void __RPC_STUB IDiaSymbol7_get_isSignRet_Stub(
+ IRpcStubBuffer *This,
+ IRpcChannelBuffer *_pRpcChannelBuffer,
+ PRPC_MESSAGE _pRpcMessage,
+ DWORD *_pdwStubPhase);
+
+
+
+#endif /* __IDiaSymbol7_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaSourceFile_INTERFACE_DEFINED__
+#define __IDiaSourceFile_INTERFACE_DEFINED__
+
+/* interface IDiaSourceFile */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaSourceFile;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("A2EF5353-F5A8-4eb3-90D2-CB526ACB3CDD")
+ IDiaSourceFile : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_uniqueId(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_fileName(
+ /* [retval][out] */ BSTR *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_checksumType(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compilands(
+ /* [retval][out] */ IDiaEnumSymbols **pRetVal) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_checksum(
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaSourceFileVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaSourceFile * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaSourceFile * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaSourceFile * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueId )(
+ IDiaSourceFile * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fileName )(
+ IDiaSourceFile * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_checksumType )(
+ IDiaSourceFile * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilands )(
+ IDiaSourceFile * This,
+ /* [retval][out] */ IDiaEnumSymbols **pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_checksum )(
+ IDiaSourceFile * This,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData);
+
+ END_INTERFACE
+ } IDiaSourceFileVtbl;
+
+ interface IDiaSourceFile
+ {
+ CONST_VTBL struct IDiaSourceFileVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaSourceFile_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaSourceFile_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaSourceFile_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaSourceFile_get_uniqueId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_uniqueId(This,pRetVal) )
+
+#define IDiaSourceFile_get_fileName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_fileName(This,pRetVal) )
+
+#define IDiaSourceFile_get_checksumType(This,pRetVal) \
+ ( (This)->lpVtbl -> get_checksumType(This,pRetVal) )
+
+#define IDiaSourceFile_get_compilands(This,pRetVal) \
+ ( (This)->lpVtbl -> get_compilands(This,pRetVal) )
+
+#define IDiaSourceFile_get_checksum(This,cbData,pcbData,pbData) \
+ ( (This)->lpVtbl -> get_checksum(This,cbData,pcbData,pbData) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaSourceFile_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaInputAssemblyFile_INTERFACE_DEFINED__
+#define __IDiaInputAssemblyFile_INTERFACE_DEFINED__
+
+/* interface IDiaInputAssemblyFile */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaInputAssemblyFile;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("3BFE56B0-390C-4863-9430-1F3D083B7684")
+ IDiaInputAssemblyFile : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_uniqueId(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_index(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_timestamp(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_pdbAvailableAtILMerge(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_fileName(
+ /* [retval][out] */ BSTR *pRetVal) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_version(
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaInputAssemblyFileVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaInputAssemblyFile * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaInputAssemblyFile * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaInputAssemblyFile * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueId )(
+ IDiaInputAssemblyFile * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_index )(
+ IDiaInputAssemblyFile * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_timestamp )(
+ IDiaInputAssemblyFile * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pdbAvailableAtILMerge )(
+ IDiaInputAssemblyFile * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fileName )(
+ IDiaInputAssemblyFile * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_version )(
+ IDiaInputAssemblyFile * This,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData);
+
+ END_INTERFACE
+ } IDiaInputAssemblyFileVtbl;
+
+ interface IDiaInputAssemblyFile
+ {
+ CONST_VTBL struct IDiaInputAssemblyFileVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaInputAssemblyFile_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaInputAssemblyFile_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaInputAssemblyFile_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaInputAssemblyFile_get_uniqueId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_uniqueId(This,pRetVal) )
+
+#define IDiaInputAssemblyFile_get_index(This,pRetVal) \
+ ( (This)->lpVtbl -> get_index(This,pRetVal) )
+
+#define IDiaInputAssemblyFile_get_timestamp(This,pRetVal) \
+ ( (This)->lpVtbl -> get_timestamp(This,pRetVal) )
+
+#define IDiaInputAssemblyFile_get_pdbAvailableAtILMerge(This,pRetVal) \
+ ( (This)->lpVtbl -> get_pdbAvailableAtILMerge(This,pRetVal) )
+
+#define IDiaInputAssemblyFile_get_fileName(This,pRetVal) \
+ ( (This)->lpVtbl -> get_fileName(This,pRetVal) )
+
+#define IDiaInputAssemblyFile_get_version(This,cbData,pcbData,pbData) \
+ ( (This)->lpVtbl -> get_version(This,cbData,pcbData,pbData) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaInputAssemblyFile_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaLineNumber_INTERFACE_DEFINED__
+#define __IDiaLineNumber_INTERFACE_DEFINED__
+
+/* interface IDiaLineNumber */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaLineNumber;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("B388EB14-BE4D-421d-A8A1-6CF7AB057086")
+ IDiaLineNumber : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compiland(
+ /* [retval][out] */ IDiaSymbol **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_sourceFile(
+ /* [retval][out] */ IDiaSourceFile **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lineNumber(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lineNumberEnd(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_columnNumber(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_columnNumberEnd(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressSection(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressOffset(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress(
+ /* [retval][out] */ ULONGLONG *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_length(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_sourceFileId(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_statement(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compilandId(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaLineNumberVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaLineNumber * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaLineNumber * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaLineNumber * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compiland )(
+ IDiaLineNumber * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sourceFile )(
+ IDiaLineNumber * This,
+ /* [retval][out] */ IDiaSourceFile **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lineNumber )(
+ IDiaLineNumber * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lineNumberEnd )(
+ IDiaLineNumber * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnNumber )(
+ IDiaLineNumber * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnNumberEnd )(
+ IDiaLineNumber * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )(
+ IDiaLineNumber * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressOffset )(
+ IDiaLineNumber * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )(
+ IDiaLineNumber * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )(
+ IDiaLineNumber * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )(
+ IDiaLineNumber * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sourceFileId )(
+ IDiaLineNumber * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_statement )(
+ IDiaLineNumber * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilandId )(
+ IDiaLineNumber * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ END_INTERFACE
+ } IDiaLineNumberVtbl;
+
+ interface IDiaLineNumber
+ {
+ CONST_VTBL struct IDiaLineNumberVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaLineNumber_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaLineNumber_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaLineNumber_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaLineNumber_get_compiland(This,pRetVal) \
+ ( (This)->lpVtbl -> get_compiland(This,pRetVal) )
+
+#define IDiaLineNumber_get_sourceFile(This,pRetVal) \
+ ( (This)->lpVtbl -> get_sourceFile(This,pRetVal) )
+
+#define IDiaLineNumber_get_lineNumber(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lineNumber(This,pRetVal) )
+
+#define IDiaLineNumber_get_lineNumberEnd(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lineNumberEnd(This,pRetVal) )
+
+#define IDiaLineNumber_get_columnNumber(This,pRetVal) \
+ ( (This)->lpVtbl -> get_columnNumber(This,pRetVal) )
+
+#define IDiaLineNumber_get_columnNumberEnd(This,pRetVal) \
+ ( (This)->lpVtbl -> get_columnNumberEnd(This,pRetVal) )
+
+#define IDiaLineNumber_get_addressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressSection(This,pRetVal) )
+
+#define IDiaLineNumber_get_addressOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressOffset(This,pRetVal) )
+
+#define IDiaLineNumber_get_relativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal) )
+
+#define IDiaLineNumber_get_virtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualAddress(This,pRetVal) )
+
+#define IDiaLineNumber_get_length(This,pRetVal) \
+ ( (This)->lpVtbl -> get_length(This,pRetVal) )
+
+#define IDiaLineNumber_get_sourceFileId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_sourceFileId(This,pRetVal) )
+
+#define IDiaLineNumber_get_statement(This,pRetVal) \
+ ( (This)->lpVtbl -> get_statement(This,pRetVal) )
+
+#define IDiaLineNumber_get_compilandId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_compilandId(This,pRetVal) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaLineNumber_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaSectionContrib_INTERFACE_DEFINED__
+#define __IDiaSectionContrib_INTERFACE_DEFINED__
+
+/* interface IDiaSectionContrib */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaSectionContrib;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("0CF4B60E-35B1-4c6c-BDD8-854B9C8E3857")
+ IDiaSectionContrib : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compiland(
+ /* [retval][out] */ IDiaSymbol **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressSection(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressOffset(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress(
+ /* [retval][out] */ ULONGLONG *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_length(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_notPaged(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_code(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_initializedData(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_uninitializedData(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_remove(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_comdat(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_discardable(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_notCached(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_share(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_execute(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_read(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_write(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_dataCrc(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relocationsCrc(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compilandId(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_code16bit(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaSectionContribVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaSectionContrib * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaSectionContrib * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaSectionContrib * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compiland )(
+ IDiaSectionContrib * This,
+ /* [retval][out] */ IDiaSymbol **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )(
+ IDiaSectionContrib * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressOffset )(
+ IDiaSectionContrib * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )(
+ IDiaSectionContrib * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )(
+ IDiaSectionContrib * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )(
+ IDiaSectionContrib * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_notPaged )(
+ IDiaSectionContrib * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_code )(
+ IDiaSectionContrib * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_initializedData )(
+ IDiaSectionContrib * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_uninitializedData )(
+ IDiaSectionContrib * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_remove )(
+ IDiaSectionContrib * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_comdat )(
+ IDiaSectionContrib * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_discardable )(
+ IDiaSectionContrib * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_notCached )(
+ IDiaSectionContrib * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_share )(
+ IDiaSectionContrib * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_execute )(
+ IDiaSectionContrib * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_read )(
+ IDiaSectionContrib * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_write )(
+ IDiaSectionContrib * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataCrc )(
+ IDiaSectionContrib * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relocationsCrc )(
+ IDiaSectionContrib * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilandId )(
+ IDiaSectionContrib * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_code16bit )(
+ IDiaSectionContrib * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ END_INTERFACE
+ } IDiaSectionContribVtbl;
+
+ interface IDiaSectionContrib
+ {
+ CONST_VTBL struct IDiaSectionContribVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaSectionContrib_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaSectionContrib_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaSectionContrib_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaSectionContrib_get_compiland(This,pRetVal) \
+ ( (This)->lpVtbl -> get_compiland(This,pRetVal) )
+
+#define IDiaSectionContrib_get_addressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressSection(This,pRetVal) )
+
+#define IDiaSectionContrib_get_addressOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressOffset(This,pRetVal) )
+
+#define IDiaSectionContrib_get_relativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSectionContrib_get_virtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualAddress(This,pRetVal) )
+
+#define IDiaSectionContrib_get_length(This,pRetVal) \
+ ( (This)->lpVtbl -> get_length(This,pRetVal) )
+
+#define IDiaSectionContrib_get_notPaged(This,pRetVal) \
+ ( (This)->lpVtbl -> get_notPaged(This,pRetVal) )
+
+#define IDiaSectionContrib_get_code(This,pRetVal) \
+ ( (This)->lpVtbl -> get_code(This,pRetVal) )
+
+#define IDiaSectionContrib_get_initializedData(This,pRetVal) \
+ ( (This)->lpVtbl -> get_initializedData(This,pRetVal) )
+
+#define IDiaSectionContrib_get_uninitializedData(This,pRetVal) \
+ ( (This)->lpVtbl -> get_uninitializedData(This,pRetVal) )
+
+#define IDiaSectionContrib_get_remove(This,pRetVal) \
+ ( (This)->lpVtbl -> get_remove(This,pRetVal) )
+
+#define IDiaSectionContrib_get_comdat(This,pRetVal) \
+ ( (This)->lpVtbl -> get_comdat(This,pRetVal) )
+
+#define IDiaSectionContrib_get_discardable(This,pRetVal) \
+ ( (This)->lpVtbl -> get_discardable(This,pRetVal) )
+
+#define IDiaSectionContrib_get_notCached(This,pRetVal) \
+ ( (This)->lpVtbl -> get_notCached(This,pRetVal) )
+
+#define IDiaSectionContrib_get_share(This,pRetVal) \
+ ( (This)->lpVtbl -> get_share(This,pRetVal) )
+
+#define IDiaSectionContrib_get_execute(This,pRetVal) \
+ ( (This)->lpVtbl -> get_execute(This,pRetVal) )
+
+#define IDiaSectionContrib_get_read(This,pRetVal) \
+ ( (This)->lpVtbl -> get_read(This,pRetVal) )
+
+#define IDiaSectionContrib_get_write(This,pRetVal) \
+ ( (This)->lpVtbl -> get_write(This,pRetVal) )
+
+#define IDiaSectionContrib_get_dataCrc(This,pRetVal) \
+ ( (This)->lpVtbl -> get_dataCrc(This,pRetVal) )
+
+#define IDiaSectionContrib_get_relocationsCrc(This,pRetVal) \
+ ( (This)->lpVtbl -> get_relocationsCrc(This,pRetVal) )
+
+#define IDiaSectionContrib_get_compilandId(This,pRetVal) \
+ ( (This)->lpVtbl -> get_compilandId(This,pRetVal) )
+
+#define IDiaSectionContrib_get_code16bit(This,pRetVal) \
+ ( (This)->lpVtbl -> get_code16bit(This,pRetVal) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaSectionContrib_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaSegment_INTERFACE_DEFINED__
+#define __IDiaSegment_INTERFACE_DEFINED__
+
+/* interface IDiaSegment */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaSegment;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("0775B784-C75B-4449-848B-B7BD3159545B")
+ IDiaSegment : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_frame(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_offset(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_length(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_read(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_write(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_execute(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressSection(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress(
+ /* [retval][out] */ ULONGLONG *pRetVal) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaSegmentVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaSegment * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaSegment * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaSegment * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frame )(
+ IDiaSegment * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offset )(
+ IDiaSegment * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )(
+ IDiaSegment * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_read )(
+ IDiaSegment * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_write )(
+ IDiaSegment * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_execute )(
+ IDiaSegment * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )(
+ IDiaSegment * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )(
+ IDiaSegment * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )(
+ IDiaSegment * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ END_INTERFACE
+ } IDiaSegmentVtbl;
+
+ interface IDiaSegment
+ {
+ CONST_VTBL struct IDiaSegmentVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaSegment_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaSegment_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaSegment_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaSegment_get_frame(This,pRetVal) \
+ ( (This)->lpVtbl -> get_frame(This,pRetVal) )
+
+#define IDiaSegment_get_offset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_offset(This,pRetVal) )
+
+#define IDiaSegment_get_length(This,pRetVal) \
+ ( (This)->lpVtbl -> get_length(This,pRetVal) )
+
+#define IDiaSegment_get_read(This,pRetVal) \
+ ( (This)->lpVtbl -> get_read(This,pRetVal) )
+
+#define IDiaSegment_get_write(This,pRetVal) \
+ ( (This)->lpVtbl -> get_write(This,pRetVal) )
+
+#define IDiaSegment_get_execute(This,pRetVal) \
+ ( (This)->lpVtbl -> get_execute(This,pRetVal) )
+
+#define IDiaSegment_get_addressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressSection(This,pRetVal) )
+
+#define IDiaSegment_get_relativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal) )
+
+#define IDiaSegment_get_virtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualAddress(This,pRetVal) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaSegment_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaInjectedSource_INTERFACE_DEFINED__
+#define __IDiaInjectedSource_INTERFACE_DEFINED__
+
+/* interface IDiaInjectedSource */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaInjectedSource;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("AE605CDC-8105-4a23-B710-3259F1E26112")
+ IDiaInjectedSource : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_crc(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_length(
+ /* [retval][out] */ ULONGLONG *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_filename(
+ /* [retval][out] */ BSTR *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_objectFilename(
+ /* [retval][out] */ BSTR *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualFilename(
+ /* [retval][out] */ BSTR *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_sourceCompression(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE get_source(
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaInjectedSourceVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaInjectedSource * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaInjectedSource * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaInjectedSource * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_crc )(
+ IDiaInjectedSource * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )(
+ IDiaInjectedSource * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_filename )(
+ IDiaInjectedSource * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_objectFilename )(
+ IDiaInjectedSource * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualFilename )(
+ IDiaInjectedSource * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sourceCompression )(
+ IDiaInjectedSource * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *get_source )(
+ IDiaInjectedSource * This,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData);
+
+ END_INTERFACE
+ } IDiaInjectedSourceVtbl;
+
+ interface IDiaInjectedSource
+ {
+ CONST_VTBL struct IDiaInjectedSourceVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaInjectedSource_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaInjectedSource_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaInjectedSource_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaInjectedSource_get_crc(This,pRetVal) \
+ ( (This)->lpVtbl -> get_crc(This,pRetVal) )
+
+#define IDiaInjectedSource_get_length(This,pRetVal) \
+ ( (This)->lpVtbl -> get_length(This,pRetVal) )
+
+#define IDiaInjectedSource_get_filename(This,pRetVal) \
+ ( (This)->lpVtbl -> get_filename(This,pRetVal) )
+
+#define IDiaInjectedSource_get_objectFilename(This,pRetVal) \
+ ( (This)->lpVtbl -> get_objectFilename(This,pRetVal) )
+
+#define IDiaInjectedSource_get_virtualFilename(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualFilename(This,pRetVal) )
+
+#define IDiaInjectedSource_get_sourceCompression(This,pRetVal) \
+ ( (This)->lpVtbl -> get_sourceCompression(This,pRetVal) )
+
+#define IDiaInjectedSource_get_source(This,cbData,pcbData,pbData) \
+ ( (This)->lpVtbl -> get_source(This,cbData,pcbData,pbData) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaInjectedSource_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_dia2_0000_0031 */
+/* [local] */
+
+
+enum __MIDL___MIDL_itf_dia2_0000_0031_0001
+ {
+ E_DIA_INPROLOG = ( HRESULT )(( ( ( ( unsigned long )1 << 31 ) | ( ( unsigned long )( LONG )0x6d << 16 ) ) | ( unsigned long )100 ) ),
+ E_DIA_SYNTAX = ( E_DIA_INPROLOG + 1 ) ,
+ E_DIA_FRAME_ACCESS = ( E_DIA_SYNTAX + 1 ) ,
+ E_DIA_VALUE = ( E_DIA_FRAME_ACCESS + 1 )
+ } ;
+
+
+extern RPC_IF_HANDLE __MIDL_itf_dia2_0000_0031_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_dia2_0000_0031_v0_0_s_ifspec;
+
+#ifndef __IDiaStackWalkFrame_INTERFACE_DEFINED__
+#define __IDiaStackWalkFrame_INTERFACE_DEFINED__
+
+/* interface IDiaStackWalkFrame */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaStackWalkFrame;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("07C590C1-438D-4F47-BDCD-4397BC81AD75")
+ IDiaStackWalkFrame : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_registerValue(
+ /* [in] */ DWORD index,
+ /* [retval][out] */ ULONGLONG *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_registerValue(
+ /* [in] */ DWORD index,
+ /* [in] */ ULONGLONG NewVal) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE readMemory(
+ /* [in] */ enum MemoryTypeEnum type,
+ /* [in] */ ULONGLONG va,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE searchForReturnAddress(
+ /* [in] */ IDiaFrameData *frame,
+ /* [out] */ ULONGLONG *returnAddress) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE searchForReturnAddressStart(
+ /* [in] */ IDiaFrameData *frame,
+ /* [in] */ ULONGLONG startAddress,
+ /* [out] */ ULONGLONG *returnAddress) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaStackWalkFrameVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaStackWalkFrame * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaStackWalkFrame * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaStackWalkFrame * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerValue )(
+ IDiaStackWalkFrame * This,
+ /* [in] */ DWORD index,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_registerValue )(
+ IDiaStackWalkFrame * This,
+ /* [in] */ DWORD index,
+ /* [in] */ ULONGLONG NewVal);
+
+ HRESULT ( STDMETHODCALLTYPE *readMemory )(
+ IDiaStackWalkFrame * This,
+ /* [in] */ enum MemoryTypeEnum type,
+ /* [in] */ ULONGLONG va,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData);
+
+ HRESULT ( STDMETHODCALLTYPE *searchForReturnAddress )(
+ IDiaStackWalkFrame * This,
+ /* [in] */ IDiaFrameData *frame,
+ /* [out] */ ULONGLONG *returnAddress);
+
+ HRESULT ( STDMETHODCALLTYPE *searchForReturnAddressStart )(
+ IDiaStackWalkFrame * This,
+ /* [in] */ IDiaFrameData *frame,
+ /* [in] */ ULONGLONG startAddress,
+ /* [out] */ ULONGLONG *returnAddress);
+
+ END_INTERFACE
+ } IDiaStackWalkFrameVtbl;
+
+ interface IDiaStackWalkFrame
+ {
+ CONST_VTBL struct IDiaStackWalkFrameVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaStackWalkFrame_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaStackWalkFrame_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaStackWalkFrame_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaStackWalkFrame_get_registerValue(This,index,pRetVal) \
+ ( (This)->lpVtbl -> get_registerValue(This,index,pRetVal) )
+
+#define IDiaStackWalkFrame_put_registerValue(This,index,NewVal) \
+ ( (This)->lpVtbl -> put_registerValue(This,index,NewVal) )
+
+#define IDiaStackWalkFrame_readMemory(This,type,va,cbData,pcbData,pbData) \
+ ( (This)->lpVtbl -> readMemory(This,type,va,cbData,pcbData,pbData) )
+
+#define IDiaStackWalkFrame_searchForReturnAddress(This,frame,returnAddress) \
+ ( (This)->lpVtbl -> searchForReturnAddress(This,frame,returnAddress) )
+
+#define IDiaStackWalkFrame_searchForReturnAddressStart(This,frame,startAddress,returnAddress) \
+ ( (This)->lpVtbl -> searchForReturnAddressStart(This,frame,startAddress,returnAddress) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaStackWalkFrame_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaFrameData_INTERFACE_DEFINED__
+#define __IDiaFrameData_INTERFACE_DEFINED__
+
+/* interface IDiaFrameData */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaFrameData;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("A39184B7-6A36-42de-8EEC-7DF9F3F59F33")
+ IDiaFrameData : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressSection(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressOffset(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress(
+ /* [retval][out] */ ULONGLONG *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthBlock(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthLocals(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthParams(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_maxStack(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthProlog(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthSavedRegisters(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_program(
+ /* [retval][out] */ BSTR *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_systemExceptionHandling(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_cplusplusExceptionHandling(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_functionStart(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_allocatesBasePointer(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_type(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_functionParent(
+ /* [retval][out] */ IDiaFrameData **pRetVal) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE execute(
+ IDiaStackWalkFrame *frame) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaFrameDataVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaFrameData * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaFrameData * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaFrameData * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )(
+ IDiaFrameData * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressOffset )(
+ IDiaFrameData * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )(
+ IDiaFrameData * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )(
+ IDiaFrameData * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthBlock )(
+ IDiaFrameData * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthLocals )(
+ IDiaFrameData * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthParams )(
+ IDiaFrameData * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_maxStack )(
+ IDiaFrameData * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthProlog )(
+ IDiaFrameData * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthSavedRegisters )(
+ IDiaFrameData * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_program )(
+ IDiaFrameData * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_systemExceptionHandling )(
+ IDiaFrameData * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cplusplusExceptionHandling )(
+ IDiaFrameData * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_functionStart )(
+ IDiaFrameData * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_allocatesBasePointer )(
+ IDiaFrameData * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )(
+ IDiaFrameData * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_functionParent )(
+ IDiaFrameData * This,
+ /* [retval][out] */ IDiaFrameData **pRetVal);
+
+ HRESULT ( STDMETHODCALLTYPE *execute )(
+ IDiaFrameData * This,
+ IDiaStackWalkFrame *frame);
+
+ END_INTERFACE
+ } IDiaFrameDataVtbl;
+
+ interface IDiaFrameData
+ {
+ CONST_VTBL struct IDiaFrameDataVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaFrameData_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaFrameData_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaFrameData_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaFrameData_get_addressSection(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressSection(This,pRetVal) )
+
+#define IDiaFrameData_get_addressOffset(This,pRetVal) \
+ ( (This)->lpVtbl -> get_addressOffset(This,pRetVal) )
+
+#define IDiaFrameData_get_relativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal) )
+
+#define IDiaFrameData_get_virtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualAddress(This,pRetVal) )
+
+#define IDiaFrameData_get_lengthBlock(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lengthBlock(This,pRetVal) )
+
+#define IDiaFrameData_get_lengthLocals(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lengthLocals(This,pRetVal) )
+
+#define IDiaFrameData_get_lengthParams(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lengthParams(This,pRetVal) )
+
+#define IDiaFrameData_get_maxStack(This,pRetVal) \
+ ( (This)->lpVtbl -> get_maxStack(This,pRetVal) )
+
+#define IDiaFrameData_get_lengthProlog(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lengthProlog(This,pRetVal) )
+
+#define IDiaFrameData_get_lengthSavedRegisters(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lengthSavedRegisters(This,pRetVal) )
+
+#define IDiaFrameData_get_program(This,pRetVal) \
+ ( (This)->lpVtbl -> get_program(This,pRetVal) )
+
+#define IDiaFrameData_get_systemExceptionHandling(This,pRetVal) \
+ ( (This)->lpVtbl -> get_systemExceptionHandling(This,pRetVal) )
+
+#define IDiaFrameData_get_cplusplusExceptionHandling(This,pRetVal) \
+ ( (This)->lpVtbl -> get_cplusplusExceptionHandling(This,pRetVal) )
+
+#define IDiaFrameData_get_functionStart(This,pRetVal) \
+ ( (This)->lpVtbl -> get_functionStart(This,pRetVal) )
+
+#define IDiaFrameData_get_allocatesBasePointer(This,pRetVal) \
+ ( (This)->lpVtbl -> get_allocatesBasePointer(This,pRetVal) )
+
+#define IDiaFrameData_get_type(This,pRetVal) \
+ ( (This)->lpVtbl -> get_type(This,pRetVal) )
+
+#define IDiaFrameData_get_functionParent(This,pRetVal) \
+ ( (This)->lpVtbl -> get_functionParent(This,pRetVal) )
+
+#define IDiaFrameData_execute(This,frame) \
+ ( (This)->lpVtbl -> execute(This,frame) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaFrameData_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaImageData_INTERFACE_DEFINED__
+#define __IDiaImageData_INTERFACE_DEFINED__
+
+/* interface IDiaImageData */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaImageData;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("C8E40ED2-A1D9-4221-8692-3CE661184B44")
+ IDiaImageData : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress(
+ /* [retval][out] */ ULONGLONG *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_imageBase(
+ /* [retval][out] */ ULONGLONG *pRetVal) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaImageDataVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaImageData * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaImageData * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaImageData * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )(
+ IDiaImageData * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )(
+ IDiaImageData * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_imageBase )(
+ IDiaImageData * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ END_INTERFACE
+ } IDiaImageDataVtbl;
+
+ interface IDiaImageData
+ {
+ CONST_VTBL struct IDiaImageDataVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaImageData_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaImageData_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaImageData_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaImageData_get_relativeVirtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal) )
+
+#define IDiaImageData_get_virtualAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_virtualAddress(This,pRetVal) )
+
+#define IDiaImageData_get_imageBase(This,pRetVal) \
+ ( (This)->lpVtbl -> get_imageBase(This,pRetVal) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaImageData_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaTable_INTERFACE_DEFINED__
+#define __IDiaTable_INTERFACE_DEFINED__
+
+/* interface IDiaTable */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaTable;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("4A59FB77-ABAC-469b-A30B-9ECC85BFEF14")
+ IDiaTable : public IEnumUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
+ /* [retval][out] */ IUnknown **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_name(
+ /* [retval][out] */ BSTR *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
+ /* [retval][out] */ LONG *pRetVal) = 0;
+
+ virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item(
+ /* [in] */ DWORD index,
+ /* [retval][out] */ IUnknown **element) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaTableVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaTable * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaTable * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaTable * This);
+
+ /* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )(
+ IDiaTable * This,
+ /* [annotation][in] */
+ _In_ ULONG celt,
+ /* [annotation][out] */
+ _Out_writes_to_(celt,*pceltFetched) IUnknown **rgelt,
+ /* [annotation][out] */
+ _Out_opt_ ULONG *pceltFetched);
+
+ HRESULT ( STDMETHODCALLTYPE *Skip )(
+ IDiaTable * This,
+ /* [in] */ ULONG celt);
+
+ HRESULT ( STDMETHODCALLTYPE *Reset )(
+ IDiaTable * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Clone )(
+ IDiaTable * This,
+ /* [out] */ IEnumUnknown **ppenum);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
+ IDiaTable * This,
+ /* [retval][out] */ IUnknown **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )(
+ IDiaTable * This,
+ /* [retval][out] */ BSTR *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
+ IDiaTable * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )(
+ IDiaTable * This,
+ /* [in] */ DWORD index,
+ /* [retval][out] */ IUnknown **element);
+
+ END_INTERFACE
+ } IDiaTableVtbl;
+
+ interface IDiaTable
+ {
+ CONST_VTBL struct IDiaTableVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaTable_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaTable_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaTable_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaTable_Next(This,celt,rgelt,pceltFetched) \
+ ( (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched) )
+
+#define IDiaTable_Skip(This,celt) \
+ ( (This)->lpVtbl -> Skip(This,celt) )
+
+#define IDiaTable_Reset(This) \
+ ( (This)->lpVtbl -> Reset(This) )
+
+#define IDiaTable_Clone(This,ppenum) \
+ ( (This)->lpVtbl -> Clone(This,ppenum) )
+
+
+#define IDiaTable_get__NewEnum(This,pRetVal) \
+ ( (This)->lpVtbl -> get__NewEnum(This,pRetVal) )
+
+#define IDiaTable_get_name(This,pRetVal) \
+ ( (This)->lpVtbl -> get_name(This,pRetVal) )
+
+#define IDiaTable_get_Count(This,pRetVal) \
+ ( (This)->lpVtbl -> get_Count(This,pRetVal) )
+
+#define IDiaTable_Item(This,index,element) \
+ ( (This)->lpVtbl -> Item(This,index,element) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaTable_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaEnumTables_INTERFACE_DEFINED__
+#define __IDiaEnumTables_INTERFACE_DEFINED__
+
+/* interface IDiaEnumTables */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaEnumTables;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("C65C2B0A-1150-4d7a-AFCC-E05BF3DEE81E")
+ IDiaEnumTables : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
+ /* [retval][out] */ IUnknown **pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
+ /* [retval][out] */ LONG *pRetVal) = 0;
+
+ virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item(
+ /* [in] */ VARIANT index,
+ /* [retval][out] */ IDiaTable **table) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ ULONG celt,
+ IDiaTable **rgelt,
+ ULONG *pceltFetched) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Skip(
+ /* [in] */ ULONG celt) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Clone(
+ /* [out] */ IDiaEnumTables **ppenum) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaEnumTablesVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaEnumTables * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaEnumTables * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaEnumTables * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
+ IDiaEnumTables * This,
+ /* [retval][out] */ IUnknown **pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
+ IDiaEnumTables * This,
+ /* [retval][out] */ LONG *pRetVal);
+
+ /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )(
+ IDiaEnumTables * This,
+ /* [in] */ VARIANT index,
+ /* [retval][out] */ IDiaTable **table);
+
+ HRESULT ( STDMETHODCALLTYPE *Next )(
+ IDiaEnumTables * This,
+ ULONG celt,
+ IDiaTable **rgelt,
+ ULONG *pceltFetched);
+
+ HRESULT ( STDMETHODCALLTYPE *Skip )(
+ IDiaEnumTables * This,
+ /* [in] */ ULONG celt);
+
+ HRESULT ( STDMETHODCALLTYPE *Reset )(
+ IDiaEnumTables * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Clone )(
+ IDiaEnumTables * This,
+ /* [out] */ IDiaEnumTables **ppenum);
+
+ END_INTERFACE
+ } IDiaEnumTablesVtbl;
+
+ interface IDiaEnumTables
+ {
+ CONST_VTBL struct IDiaEnumTablesVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaEnumTables_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaEnumTables_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaEnumTables_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaEnumTables_get__NewEnum(This,pRetVal) \
+ ( (This)->lpVtbl -> get__NewEnum(This,pRetVal) )
+
+#define IDiaEnumTables_get_Count(This,pRetVal) \
+ ( (This)->lpVtbl -> get_Count(This,pRetVal) )
+
+#define IDiaEnumTables_Item(This,index,table) \
+ ( (This)->lpVtbl -> Item(This,index,table) )
+
+#define IDiaEnumTables_Next(This,celt,rgelt,pceltFetched) \
+ ( (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched) )
+
+#define IDiaEnumTables_Skip(This,celt) \
+ ( (This)->lpVtbl -> Skip(This,celt) )
+
+#define IDiaEnumTables_Reset(This) \
+ ( (This)->lpVtbl -> Reset(This) )
+
+#define IDiaEnumTables_Clone(This,ppenum) \
+ ( (This)->lpVtbl -> Clone(This,ppenum) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaEnumTables_INTERFACE_DEFINED__ */
+
+
+
+#ifndef __Dia2Lib_LIBRARY_DEFINED__
+#define __Dia2Lib_LIBRARY_DEFINED__
+
+/* library Dia2Lib */
+/* [helpstring][version][uuid] */
+
+
+
+
+
+EXTERN_C const IID LIBID_Dia2Lib;
+
+EXTERN_C const CLSID CLSID_DiaSource;
+
+#ifdef __cplusplus
+
+class DECLSPEC_UUID("e6756135-1e65-4d17-8576-610761398c3c")
+DiaSource;
+#endif
+
+EXTERN_C const CLSID CLSID_DiaSourceAlt;
+
+#ifdef __cplusplus
+
+class DECLSPEC_UUID("91904831-49ca-4766-b95c-25397e2dd6dc")
+DiaSourceAlt;
+#endif
+
+EXTERN_C const CLSID CLSID_DiaStackWalker;
+
+#ifdef __cplusplus
+
+class DECLSPEC_UUID("ce4a85db-5768-475b-a4e1-c0bca2112a6b")
+DiaStackWalker;
+#endif
+#endif /* __Dia2Lib_LIBRARY_DEFINED__ */
+
+/* interface __MIDL_itf_dia2_0000_0037 */
+/* [local] */
+
+#define DiaTable_Symbols ( L"Symbols" )
+
+#define DiaTable_Sections ( L"Sections" )
+
+#define DiaTable_SrcFiles ( L"SourceFiles" )
+
+#define DiaTable_LineNums ( L"LineNumbers" )
+
+#define DiaTable_SegMap ( L"SegmentMap" )
+
+#define DiaTable_Dbg ( L"Dbg" )
+
+#define DiaTable_InjSrc ( L"InjectedSource" )
+
+#define DiaTable_FrameData ( L"FrameData" )
+
+#define DiaTable_InputAssemblyFiles ( L"InputAssemblyFiles" )
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_dia2_0000_0037_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_dia2_0000_0037_v0_0_s_ifspec;
+
+#ifndef __IDiaPropertyStorage_INTERFACE_DEFINED__
+#define __IDiaPropertyStorage_INTERFACE_DEFINED__
+
+/* interface IDiaPropertyStorage */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaPropertyStorage;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("9d416f9c-e184-45b2-a4f0-ce517f719e9b")
+ IDiaPropertyStorage : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE ReadMultiple(
+ /* [in] */ ULONG cpspec,
+ /* [size_is][in] */ const PROPSPEC *rgpspec,
+ /* [size_is][out] */ PROPVARIANT *rgvar) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ReadPropertyNames(
+ /* [in] */ ULONG cpropid,
+ /* [size_is][in] */ const PROPID *rgpropid,
+ /* [size_is][out][in] */ BSTR *rglpwstrName) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Enum(
+ /* [out] */ IEnumSTATPROPSTG **ppenum) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ReadDWORD(
+ /* [in] */ PROPID id,
+ /* [out] */ DWORD *pValue) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ReadLONG(
+ /* [in] */ PROPID id,
+ /* [out] */ LONG *pValue) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ReadBOOL(
+ /* [in] */ PROPID id,
+ /* [out] */ BOOL *pValue) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ReadULONGLONG(
+ /* [in] */ PROPID id,
+ /* [out] */ ULONGLONG *pValue) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ReadBSTR(
+ /* [in] */ PROPID id,
+ /* [out] */ BSTR *pValue) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaPropertyStorageVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaPropertyStorage * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaPropertyStorage * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaPropertyStorage * This);
+
+ HRESULT ( STDMETHODCALLTYPE *ReadMultiple )(
+ IDiaPropertyStorage * This,
+ /* [in] */ ULONG cpspec,
+ /* [size_is][in] */ const PROPSPEC *rgpspec,
+ /* [size_is][out] */ PROPVARIANT *rgvar);
+
+ HRESULT ( STDMETHODCALLTYPE *ReadPropertyNames )(
+ IDiaPropertyStorage * This,
+ /* [in] */ ULONG cpropid,
+ /* [size_is][in] */ const PROPID *rgpropid,
+ /* [size_is][out][in] */ BSTR *rglpwstrName);
+
+ HRESULT ( STDMETHODCALLTYPE *Enum )(
+ IDiaPropertyStorage * This,
+ /* [out] */ IEnumSTATPROPSTG **ppenum);
+
+ HRESULT ( STDMETHODCALLTYPE *ReadDWORD )(
+ IDiaPropertyStorage * This,
+ /* [in] */ PROPID id,
+ /* [out] */ DWORD *pValue);
+
+ HRESULT ( STDMETHODCALLTYPE *ReadLONG )(
+ IDiaPropertyStorage * This,
+ /* [in] */ PROPID id,
+ /* [out] */ LONG *pValue);
+
+ HRESULT ( STDMETHODCALLTYPE *ReadBOOL )(
+ IDiaPropertyStorage * This,
+ /* [in] */ PROPID id,
+ /* [out] */ BOOL *pValue);
+
+ HRESULT ( STDMETHODCALLTYPE *ReadULONGLONG )(
+ IDiaPropertyStorage * This,
+ /* [in] */ PROPID id,
+ /* [out] */ ULONGLONG *pValue);
+
+ HRESULT ( STDMETHODCALLTYPE *ReadBSTR )(
+ IDiaPropertyStorage * This,
+ /* [in] */ PROPID id,
+ /* [out] */ BSTR *pValue);
+
+ END_INTERFACE
+ } IDiaPropertyStorageVtbl;
+
+ interface IDiaPropertyStorage
+ {
+ CONST_VTBL struct IDiaPropertyStorageVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaPropertyStorage_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaPropertyStorage_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaPropertyStorage_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaPropertyStorage_ReadMultiple(This,cpspec,rgpspec,rgvar) \
+ ( (This)->lpVtbl -> ReadMultiple(This,cpspec,rgpspec,rgvar) )
+
+#define IDiaPropertyStorage_ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName) \
+ ( (This)->lpVtbl -> ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName) )
+
+#define IDiaPropertyStorage_Enum(This,ppenum) \
+ ( (This)->lpVtbl -> Enum(This,ppenum) )
+
+#define IDiaPropertyStorage_ReadDWORD(This,id,pValue) \
+ ( (This)->lpVtbl -> ReadDWORD(This,id,pValue) )
+
+#define IDiaPropertyStorage_ReadLONG(This,id,pValue) \
+ ( (This)->lpVtbl -> ReadLONG(This,id,pValue) )
+
+#define IDiaPropertyStorage_ReadBOOL(This,id,pValue) \
+ ( (This)->lpVtbl -> ReadBOOL(This,id,pValue) )
+
+#define IDiaPropertyStorage_ReadULONGLONG(This,id,pValue) \
+ ( (This)->lpVtbl -> ReadULONGLONG(This,id,pValue) )
+
+#define IDiaPropertyStorage_ReadBSTR(This,id,pValue) \
+ ( (This)->lpVtbl -> ReadBSTR(This,id,pValue) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaPropertyStorage_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaStackFrame_INTERFACE_DEFINED__
+#define __IDiaStackFrame_INTERFACE_DEFINED__
+
+/* interface IDiaStackFrame */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaStackFrame;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("5edbc96d-cdd6-4792-afbe-cc89007d9610")
+ IDiaStackFrame : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_type(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_base(
+ /* [retval][out] */ ULONGLONG *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_size(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_returnAddress(
+ /* [retval][out] */ ULONGLONG *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_localsBase(
+ /* [retval][out] */ ULONGLONG *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthLocals(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthParams(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthProlog(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthSavedRegisters(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_systemExceptionHandling(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_cplusplusExceptionHandling(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_functionStart(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_allocatesBasePointer(
+ /* [retval][out] */ BOOL *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_maxStack(
+ /* [retval][out] */ DWORD *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_registerValue(
+ /* [in] */ DWORD index,
+ /* [retval][out] */ ULONGLONG *pRetVal) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaStackFrameVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaStackFrame * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaStackFrame * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaStackFrame * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )(
+ IDiaStackFrame * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_base )(
+ IDiaStackFrame * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_size )(
+ IDiaStackFrame * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_returnAddress )(
+ IDiaStackFrame * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_localsBase )(
+ IDiaStackFrame * This,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthLocals )(
+ IDiaStackFrame * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthParams )(
+ IDiaStackFrame * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthProlog )(
+ IDiaStackFrame * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthSavedRegisters )(
+ IDiaStackFrame * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_systemExceptionHandling )(
+ IDiaStackFrame * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cplusplusExceptionHandling )(
+ IDiaStackFrame * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_functionStart )(
+ IDiaStackFrame * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_allocatesBasePointer )(
+ IDiaStackFrame * This,
+ /* [retval][out] */ BOOL *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_maxStack )(
+ IDiaStackFrame * This,
+ /* [retval][out] */ DWORD *pRetVal);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerValue )(
+ IDiaStackFrame * This,
+ /* [in] */ DWORD index,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ END_INTERFACE
+ } IDiaStackFrameVtbl;
+
+ interface IDiaStackFrame
+ {
+ CONST_VTBL struct IDiaStackFrameVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaStackFrame_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaStackFrame_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaStackFrame_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaStackFrame_get_type(This,pRetVal) \
+ ( (This)->lpVtbl -> get_type(This,pRetVal) )
+
+#define IDiaStackFrame_get_base(This,pRetVal) \
+ ( (This)->lpVtbl -> get_base(This,pRetVal) )
+
+#define IDiaStackFrame_get_size(This,pRetVal) \
+ ( (This)->lpVtbl -> get_size(This,pRetVal) )
+
+#define IDiaStackFrame_get_returnAddress(This,pRetVal) \
+ ( (This)->lpVtbl -> get_returnAddress(This,pRetVal) )
+
+#define IDiaStackFrame_get_localsBase(This,pRetVal) \
+ ( (This)->lpVtbl -> get_localsBase(This,pRetVal) )
+
+#define IDiaStackFrame_get_lengthLocals(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lengthLocals(This,pRetVal) )
+
+#define IDiaStackFrame_get_lengthParams(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lengthParams(This,pRetVal) )
+
+#define IDiaStackFrame_get_lengthProlog(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lengthProlog(This,pRetVal) )
+
+#define IDiaStackFrame_get_lengthSavedRegisters(This,pRetVal) \
+ ( (This)->lpVtbl -> get_lengthSavedRegisters(This,pRetVal) )
+
+#define IDiaStackFrame_get_systemExceptionHandling(This,pRetVal) \
+ ( (This)->lpVtbl -> get_systemExceptionHandling(This,pRetVal) )
+
+#define IDiaStackFrame_get_cplusplusExceptionHandling(This,pRetVal) \
+ ( (This)->lpVtbl -> get_cplusplusExceptionHandling(This,pRetVal) )
+
+#define IDiaStackFrame_get_functionStart(This,pRetVal) \
+ ( (This)->lpVtbl -> get_functionStart(This,pRetVal) )
+
+#define IDiaStackFrame_get_allocatesBasePointer(This,pRetVal) \
+ ( (This)->lpVtbl -> get_allocatesBasePointer(This,pRetVal) )
+
+#define IDiaStackFrame_get_maxStack(This,pRetVal) \
+ ( (This)->lpVtbl -> get_maxStack(This,pRetVal) )
+
+#define IDiaStackFrame_get_registerValue(This,index,pRetVal) \
+ ( (This)->lpVtbl -> get_registerValue(This,index,pRetVal) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaStackFrame_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaEnumStackFrames_INTERFACE_DEFINED__
+#define __IDiaEnumStackFrames_INTERFACE_DEFINED__
+
+/* interface IDiaEnumStackFrames */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaEnumStackFrames;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("ec9d461d-ce74-4711-a020-7d8f9a1dd255")
+ IDiaEnumStackFrames : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Next(
+ /* [in] */ ULONG celt,
+ /* [out] */ IDiaStackFrame **rgelt,
+ /* [out] */ ULONG *pceltFetched) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaEnumStackFramesVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaEnumStackFrames * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaEnumStackFrames * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaEnumStackFrames * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Next )(
+ IDiaEnumStackFrames * This,
+ /* [in] */ ULONG celt,
+ /* [out] */ IDiaStackFrame **rgelt,
+ /* [out] */ ULONG *pceltFetched);
+
+ HRESULT ( STDMETHODCALLTYPE *Reset )(
+ IDiaEnumStackFrames * This);
+
+ END_INTERFACE
+ } IDiaEnumStackFramesVtbl;
+
+ interface IDiaEnumStackFrames
+ {
+ CONST_VTBL struct IDiaEnumStackFramesVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaEnumStackFrames_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaEnumStackFrames_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaEnumStackFrames_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaEnumStackFrames_Next(This,celt,rgelt,pceltFetched) \
+ ( (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched) )
+
+#define IDiaEnumStackFrames_Reset(This) \
+ ( (This)->lpVtbl -> Reset(This) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaEnumStackFrames_INTERFACE_DEFINED__ */
+
+
+/* interface __MIDL_itf_dia2_0000_0040 */
+/* [local] */
+
+typedef /* [public] */ struct __MIDL___MIDL_itf_dia2_0000_0040_0001
+ {
+ DWORD ulOffStart;
+ DWORD cbProcSize;
+ DWORD cdwLocals;
+ WORD cdwParams;
+ WORD cdwFlags;
+ } FPODATA;
+
+
+
+extern RPC_IF_HANDLE __MIDL_itf_dia2_0000_0040_v0_0_c_ifspec;
+extern RPC_IF_HANDLE __MIDL_itf_dia2_0000_0040_v0_0_s_ifspec;
+
+#ifndef __IDiaStackWalkHelper_INTERFACE_DEFINED__
+#define __IDiaStackWalkHelper_INTERFACE_DEFINED__
+
+/* interface IDiaStackWalkHelper */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaStackWalkHelper;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("21F81B1B-C5BB-42A3-BC4F-CCBAA75B9F19")
+ IDiaStackWalkHelper : public IUnknown
+ {
+ public:
+ virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_registerValue(
+ /* [in] */ DWORD index,
+ /* [retval][out] */ ULONGLONG *pRetVal) = 0;
+
+ virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_registerValue(
+ /* [in] */ DWORD index,
+ /* [in] */ ULONGLONG NewVal) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE readMemory(
+ /* [in] */ enum MemoryTypeEnum type,
+ /* [in] */ ULONGLONG va,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE searchForReturnAddress(
+ /* [in] */ IDiaFrameData *frame,
+ /* [out] */ ULONGLONG *returnAddress) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE searchForReturnAddressStart(
+ /* [in] */ IDiaFrameData *frame,
+ /* [in] */ ULONGLONG startAddress,
+ /* [out] */ ULONGLONG *returnAddress) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE frameForVA(
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaFrameData **ppFrame) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE symbolForVA(
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaSymbol **ppSymbol) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE pdataForVA(
+ /* [in] */ ULONGLONG va,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE imageForVA(
+ /* [in] */ ULONGLONG vaContext,
+ /* [out] */ ULONGLONG *pvaImageStart) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE addressForVA(
+ /* [in] */ ULONGLONG va,
+ /* [out] */ DWORD *pISect,
+ /* [out] */ DWORD *pOffset) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE numberOfFunctionFragmentsForVA(
+ /* [in] */ ULONGLONG vaFunc,
+ /* [in] */ DWORD cbFunc,
+ /* [out] */ DWORD *pNumFragments) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE functionFragmentsForVA(
+ /* [in] */ ULONGLONG vaFunc,
+ /* [in] */ DWORD cbFunc,
+ /* [in] */ DWORD cFragments,
+ /* [out] */ ULONGLONG *pVaFragment,
+ /* [out] */ DWORD *pLenFragment) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaStackWalkHelperVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaStackWalkHelper * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaStackWalkHelper * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaStackWalkHelper * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerValue )(
+ IDiaStackWalkHelper * This,
+ /* [in] */ DWORD index,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_registerValue )(
+ IDiaStackWalkHelper * This,
+ /* [in] */ DWORD index,
+ /* [in] */ ULONGLONG NewVal);
+
+ HRESULT ( STDMETHODCALLTYPE *readMemory )(
+ IDiaStackWalkHelper * This,
+ /* [in] */ enum MemoryTypeEnum type,
+ /* [in] */ ULONGLONG va,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData);
+
+ HRESULT ( STDMETHODCALLTYPE *searchForReturnAddress )(
+ IDiaStackWalkHelper * This,
+ /* [in] */ IDiaFrameData *frame,
+ /* [out] */ ULONGLONG *returnAddress);
+
+ HRESULT ( STDMETHODCALLTYPE *searchForReturnAddressStart )(
+ IDiaStackWalkHelper * This,
+ /* [in] */ IDiaFrameData *frame,
+ /* [in] */ ULONGLONG startAddress,
+ /* [out] */ ULONGLONG *returnAddress);
+
+ HRESULT ( STDMETHODCALLTYPE *frameForVA )(
+ IDiaStackWalkHelper * This,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaFrameData **ppFrame);
+
+ HRESULT ( STDMETHODCALLTYPE *symbolForVA )(
+ IDiaStackWalkHelper * This,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaSymbol **ppSymbol);
+
+ HRESULT ( STDMETHODCALLTYPE *pdataForVA )(
+ IDiaStackWalkHelper * This,
+ /* [in] */ ULONGLONG va,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData);
+
+ HRESULT ( STDMETHODCALLTYPE *imageForVA )(
+ IDiaStackWalkHelper * This,
+ /* [in] */ ULONGLONG vaContext,
+ /* [out] */ ULONGLONG *pvaImageStart);
+
+ HRESULT ( STDMETHODCALLTYPE *addressForVA )(
+ IDiaStackWalkHelper * This,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ DWORD *pISect,
+ /* [out] */ DWORD *pOffset);
+
+ HRESULT ( STDMETHODCALLTYPE *numberOfFunctionFragmentsForVA )(
+ IDiaStackWalkHelper * This,
+ /* [in] */ ULONGLONG vaFunc,
+ /* [in] */ DWORD cbFunc,
+ /* [out] */ DWORD *pNumFragments);
+
+ HRESULT ( STDMETHODCALLTYPE *functionFragmentsForVA )(
+ IDiaStackWalkHelper * This,
+ /* [in] */ ULONGLONG vaFunc,
+ /* [in] */ DWORD cbFunc,
+ /* [in] */ DWORD cFragments,
+ /* [out] */ ULONGLONG *pVaFragment,
+ /* [out] */ DWORD *pLenFragment);
+
+ END_INTERFACE
+ } IDiaStackWalkHelperVtbl;
+
+ interface IDiaStackWalkHelper
+ {
+ CONST_VTBL struct IDiaStackWalkHelperVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaStackWalkHelper_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaStackWalkHelper_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaStackWalkHelper_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaStackWalkHelper_get_registerValue(This,index,pRetVal) \
+ ( (This)->lpVtbl -> get_registerValue(This,index,pRetVal) )
+
+#define IDiaStackWalkHelper_put_registerValue(This,index,NewVal) \
+ ( (This)->lpVtbl -> put_registerValue(This,index,NewVal) )
+
+#define IDiaStackWalkHelper_readMemory(This,type,va,cbData,pcbData,pbData) \
+ ( (This)->lpVtbl -> readMemory(This,type,va,cbData,pcbData,pbData) )
+
+#define IDiaStackWalkHelper_searchForReturnAddress(This,frame,returnAddress) \
+ ( (This)->lpVtbl -> searchForReturnAddress(This,frame,returnAddress) )
+
+#define IDiaStackWalkHelper_searchForReturnAddressStart(This,frame,startAddress,returnAddress) \
+ ( (This)->lpVtbl -> searchForReturnAddressStart(This,frame,startAddress,returnAddress) )
+
+#define IDiaStackWalkHelper_frameForVA(This,va,ppFrame) \
+ ( (This)->lpVtbl -> frameForVA(This,va,ppFrame) )
+
+#define IDiaStackWalkHelper_symbolForVA(This,va,ppSymbol) \
+ ( (This)->lpVtbl -> symbolForVA(This,va,ppSymbol) )
+
+#define IDiaStackWalkHelper_pdataForVA(This,va,cbData,pcbData,pbData) \
+ ( (This)->lpVtbl -> pdataForVA(This,va,cbData,pcbData,pbData) )
+
+#define IDiaStackWalkHelper_imageForVA(This,vaContext,pvaImageStart) \
+ ( (This)->lpVtbl -> imageForVA(This,vaContext,pvaImageStart) )
+
+#define IDiaStackWalkHelper_addressForVA(This,va,pISect,pOffset) \
+ ( (This)->lpVtbl -> addressForVA(This,va,pISect,pOffset) )
+
+#define IDiaStackWalkHelper_numberOfFunctionFragmentsForVA(This,vaFunc,cbFunc,pNumFragments) \
+ ( (This)->lpVtbl -> numberOfFunctionFragmentsForVA(This,vaFunc,cbFunc,pNumFragments) )
+
+#define IDiaStackWalkHelper_functionFragmentsForVA(This,vaFunc,cbFunc,cFragments,pVaFragment,pLenFragment) \
+ ( (This)->lpVtbl -> functionFragmentsForVA(This,vaFunc,cbFunc,cFragments,pVaFragment,pLenFragment) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaStackWalkHelper_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaStackWalker_INTERFACE_DEFINED__
+#define __IDiaStackWalker_INTERFACE_DEFINED__
+
+/* interface IDiaStackWalker */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaStackWalker;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("5485216b-a54c-469f-9670-52b24d5229bb")
+ IDiaStackWalker : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE getEnumFrames(
+ /* [in] */ IDiaStackWalkHelper *pHelper,
+ /* [out] */ IDiaEnumStackFrames **ppEnum) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE getEnumFrames2(
+ /* [in] */ enum CV_CPU_TYPE_e cpuid,
+ /* [in] */ IDiaStackWalkHelper *pHelper,
+ /* [out] */ IDiaEnumStackFrames **ppEnum) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaStackWalkerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaStackWalker * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaStackWalker * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaStackWalker * This);
+
+ HRESULT ( STDMETHODCALLTYPE *getEnumFrames )(
+ IDiaStackWalker * This,
+ /* [in] */ IDiaStackWalkHelper *pHelper,
+ /* [out] */ IDiaEnumStackFrames **ppEnum);
+
+ HRESULT ( STDMETHODCALLTYPE *getEnumFrames2 )(
+ IDiaStackWalker * This,
+ /* [in] */ enum CV_CPU_TYPE_e cpuid,
+ /* [in] */ IDiaStackWalkHelper *pHelper,
+ /* [out] */ IDiaEnumStackFrames **ppEnum);
+
+ END_INTERFACE
+ } IDiaStackWalkerVtbl;
+
+ interface IDiaStackWalker
+ {
+ CONST_VTBL struct IDiaStackWalkerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaStackWalker_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaStackWalker_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaStackWalker_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaStackWalker_getEnumFrames(This,pHelper,ppEnum) \
+ ( (This)->lpVtbl -> getEnumFrames(This,pHelper,ppEnum) )
+
+#define IDiaStackWalker_getEnumFrames2(This,cpuid,pHelper,ppEnum) \
+ ( (This)->lpVtbl -> getEnumFrames2(This,cpuid,pHelper,ppEnum) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaStackWalker_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaStackWalkHelper2_INTERFACE_DEFINED__
+#define __IDiaStackWalkHelper2_INTERFACE_DEFINED__
+
+/* interface IDiaStackWalkHelper2 */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaStackWalkHelper2;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("8222c490-507b-4bef-b3bd-41dca7b5934c")
+ IDiaStackWalkHelper2 : public IDiaStackWalkHelper
+ {
+ public:
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaStackWalkHelper2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaStackWalkHelper2 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaStackWalkHelper2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaStackWalkHelper2 * This);
+
+ /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerValue )(
+ IDiaStackWalkHelper2 * This,
+ /* [in] */ DWORD index,
+ /* [retval][out] */ ULONGLONG *pRetVal);
+
+ /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_registerValue )(
+ IDiaStackWalkHelper2 * This,
+ /* [in] */ DWORD index,
+ /* [in] */ ULONGLONG NewVal);
+
+ HRESULT ( STDMETHODCALLTYPE *readMemory )(
+ IDiaStackWalkHelper2 * This,
+ /* [in] */ enum MemoryTypeEnum type,
+ /* [in] */ ULONGLONG va,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData);
+
+ HRESULT ( STDMETHODCALLTYPE *searchForReturnAddress )(
+ IDiaStackWalkHelper2 * This,
+ /* [in] */ IDiaFrameData *frame,
+ /* [out] */ ULONGLONG *returnAddress);
+
+ HRESULT ( STDMETHODCALLTYPE *searchForReturnAddressStart )(
+ IDiaStackWalkHelper2 * This,
+ /* [in] */ IDiaFrameData *frame,
+ /* [in] */ ULONGLONG startAddress,
+ /* [out] */ ULONGLONG *returnAddress);
+
+ HRESULT ( STDMETHODCALLTYPE *frameForVA )(
+ IDiaStackWalkHelper2 * This,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaFrameData **ppFrame);
+
+ HRESULT ( STDMETHODCALLTYPE *symbolForVA )(
+ IDiaStackWalkHelper2 * This,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ IDiaSymbol **ppSymbol);
+
+ HRESULT ( STDMETHODCALLTYPE *pdataForVA )(
+ IDiaStackWalkHelper2 * This,
+ /* [in] */ ULONGLONG va,
+ /* [in] */ DWORD cbData,
+ /* [out] */ DWORD *pcbData,
+ /* [size_is][out] */ BYTE *pbData);
+
+ HRESULT ( STDMETHODCALLTYPE *imageForVA )(
+ IDiaStackWalkHelper2 * This,
+ /* [in] */ ULONGLONG vaContext,
+ /* [out] */ ULONGLONG *pvaImageStart);
+
+ HRESULT ( STDMETHODCALLTYPE *addressForVA )(
+ IDiaStackWalkHelper2 * This,
+ /* [in] */ ULONGLONG va,
+ /* [out] */ DWORD *pISect,
+ /* [out] */ DWORD *pOffset);
+
+ HRESULT ( STDMETHODCALLTYPE *numberOfFunctionFragmentsForVA )(
+ IDiaStackWalkHelper2 * This,
+ /* [in] */ ULONGLONG vaFunc,
+ /* [in] */ DWORD cbFunc,
+ /* [out] */ DWORD *pNumFragments);
+
+ HRESULT ( STDMETHODCALLTYPE *functionFragmentsForVA )(
+ IDiaStackWalkHelper2 * This,
+ /* [in] */ ULONGLONG vaFunc,
+ /* [in] */ DWORD cbFunc,
+ /* [in] */ DWORD cFragments,
+ /* [out] */ ULONGLONG *pVaFragment,
+ /* [out] */ DWORD *pLenFragment);
+
+ END_INTERFACE
+ } IDiaStackWalkHelper2Vtbl;
+
+ interface IDiaStackWalkHelper2
+ {
+ CONST_VTBL struct IDiaStackWalkHelper2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaStackWalkHelper2_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaStackWalkHelper2_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaStackWalkHelper2_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaStackWalkHelper2_get_registerValue(This,index,pRetVal) \
+ ( (This)->lpVtbl -> get_registerValue(This,index,pRetVal) )
+
+#define IDiaStackWalkHelper2_put_registerValue(This,index,NewVal) \
+ ( (This)->lpVtbl -> put_registerValue(This,index,NewVal) )
+
+#define IDiaStackWalkHelper2_readMemory(This,type,va,cbData,pcbData,pbData) \
+ ( (This)->lpVtbl -> readMemory(This,type,va,cbData,pcbData,pbData) )
+
+#define IDiaStackWalkHelper2_searchForReturnAddress(This,frame,returnAddress) \
+ ( (This)->lpVtbl -> searchForReturnAddress(This,frame,returnAddress) )
+
+#define IDiaStackWalkHelper2_searchForReturnAddressStart(This,frame,startAddress,returnAddress) \
+ ( (This)->lpVtbl -> searchForReturnAddressStart(This,frame,startAddress,returnAddress) )
+
+#define IDiaStackWalkHelper2_frameForVA(This,va,ppFrame) \
+ ( (This)->lpVtbl -> frameForVA(This,va,ppFrame) )
+
+#define IDiaStackWalkHelper2_symbolForVA(This,va,ppSymbol) \
+ ( (This)->lpVtbl -> symbolForVA(This,va,ppSymbol) )
+
+#define IDiaStackWalkHelper2_pdataForVA(This,va,cbData,pcbData,pbData) \
+ ( (This)->lpVtbl -> pdataForVA(This,va,cbData,pcbData,pbData) )
+
+#define IDiaStackWalkHelper2_imageForVA(This,vaContext,pvaImageStart) \
+ ( (This)->lpVtbl -> imageForVA(This,vaContext,pvaImageStart) )
+
+#define IDiaStackWalkHelper2_addressForVA(This,va,pISect,pOffset) \
+ ( (This)->lpVtbl -> addressForVA(This,va,pISect,pOffset) )
+
+#define IDiaStackWalkHelper2_numberOfFunctionFragmentsForVA(This,vaFunc,cbFunc,pNumFragments) \
+ ( (This)->lpVtbl -> numberOfFunctionFragmentsForVA(This,vaFunc,cbFunc,pNumFragments) )
+
+#define IDiaStackWalkHelper2_functionFragmentsForVA(This,vaFunc,cbFunc,cFragments,pVaFragment,pLenFragment) \
+ ( (This)->lpVtbl -> functionFragmentsForVA(This,vaFunc,cbFunc,cFragments,pVaFragment,pLenFragment) )
+
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaStackWalkHelper2_INTERFACE_DEFINED__ */
+
+
+#ifndef __IDiaStackWalker2_INTERFACE_DEFINED__
+#define __IDiaStackWalker2_INTERFACE_DEFINED__
+
+/* interface IDiaStackWalker2 */
+/* [unique][helpstring][local][uuid][object] */
+
+
+EXTERN_C const IID IID_IDiaStackWalker2;
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("7c185885-a015-4cac-9411-0f4fb39b1f3a")
+ IDiaStackWalker2 : public IDiaStackWalker
+ {
+ public:
+ };
+
+
+#else /* C style interface */
+
+ typedef struct IDiaStackWalker2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ IDiaStackWalker2 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ IDiaStackWalker2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ IDiaStackWalker2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *getEnumFrames )(
+ IDiaStackWalker2 * This,
+ /* [in] */ IDiaStackWalkHelper *pHelper,
+ /* [out] */ IDiaEnumStackFrames **ppEnum);
+
+ HRESULT ( STDMETHODCALLTYPE *getEnumFrames2 )(
+ IDiaStackWalker2 * This,
+ /* [in] */ enum CV_CPU_TYPE_e cpuid,
+ /* [in] */ IDiaStackWalkHelper *pHelper,
+ /* [out] */ IDiaEnumStackFrames **ppEnum);
+
+ END_INTERFACE
+ } IDiaStackWalker2Vtbl;
+
+ interface IDiaStackWalker2
+ {
+ CONST_VTBL struct IDiaStackWalker2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define IDiaStackWalker2_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define IDiaStackWalker2_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define IDiaStackWalker2_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define IDiaStackWalker2_getEnumFrames(This,pHelper,ppEnum) \
+ ( (This)->lpVtbl -> getEnumFrames(This,pHelper,ppEnum) )
+
+#define IDiaStackWalker2_getEnumFrames2(This,cpuid,pHelper,ppEnum) \
+ ( (This)->lpVtbl -> getEnumFrames2(This,cpuid,pHelper,ppEnum) )
+
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __IDiaStackWalker2_INTERFACE_DEFINED__ */
+
+
+/* Additional Prototypes for ALL interfaces */
+
+/* end of Additional Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+
diff --git a/libraries/dia/diacreate.h b/libraries/dia/diacreate.h
new file mode 100644
index 0000000..fac6668
--- /dev/null
+++ b/libraries/dia/diacreate.h
@@ -0,0 +1,42 @@
+// diacreate.h - creation helper functions for DIA initialization
+//-----------------------------------------------------------------
+//
+// Copyright Microsoft Corporation. All Rights Reserved.
+//
+//---------------------------------------------------------------
+#ifndef _DIACREATE_H_
+#define _DIACREATE_H_
+
+//
+// Create a dia data source object from the dia dll (by dll name - does not access the registry).
+//
+
+HRESULT STDMETHODCALLTYPE NoRegCoCreate( const __wchar_t *dllName,
+ REFCLSID rclsid,
+ REFIID riid,
+ void **ppv);
+
+#ifndef _NATIVE_WCHAR_T_DEFINED
+#ifdef __cplusplus
+
+HRESULT STDMETHODCALLTYPE NoRegCoCreate( const wchar_t *dllName,
+ REFCLSID rclsid,
+ REFIID riid,
+ void **ppv)
+{
+ return NoRegCoCreate( (const __wchar_t *)dllName, rclsid, riid, ppv );
+}
+
+#endif
+#endif
+
+
+
+//
+// Create a dia data source object from the dia dll (looks up the class id in the registry).
+//
+HRESULT STDMETHODCALLTYPE NoOleCoCreate( REFCLSID rclsid,
+ REFIID riid,
+ void **ppv);
+
+#endif
diff --git a/libraries/dia/lib/amd64/diaguids.lib b/libraries/dia/lib/amd64/diaguids.lib
new file mode 100644
index 0000000..077b0c6
Binary files /dev/null and b/libraries/dia/lib/amd64/diaguids.lib differ
diff --git a/libraries/dia/lib/arm/diaguids.lib b/libraries/dia/lib/arm/diaguids.lib
new file mode 100644
index 0000000..70747c1
Binary files /dev/null and b/libraries/dia/lib/arm/diaguids.lib differ
diff --git a/libraries/dia/lib/arm64/diaguids.lib b/libraries/dia/lib/arm64/diaguids.lib
new file mode 100644
index 0000000..c862dc2
Binary files /dev/null and b/libraries/dia/lib/arm64/diaguids.lib differ
diff --git a/libraries/dia/lib/diaguids.lib b/libraries/dia/lib/diaguids.lib
new file mode 100644
index 0000000..13c567d
Binary files /dev/null and b/libraries/dia/lib/diaguids.lib differ
diff --git a/libraries/wil/Tracelogging.h b/libraries/wil/Tracelogging.h
new file mode 100644
index 0000000..a1bde69
--- /dev/null
+++ b/libraries/wil/Tracelogging.h
@@ -0,0 +1,3925 @@
+#pragma once
+//*********************************************************
+//
+// Copyright (c) Microsoft. All rights reserved.
+// This code is licensed under the MIT License.
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+// PARTICULAR PURPOSE AND NONINFRINGEMENT.
+//
+//*********************************************************
+
+#ifndef __WIL_TRACELOGGING_H_INCLUDED
+#define __WIL_TRACELOGGING_H_INCLUDED
+
+#ifdef _KERNEL_MODE
+#error This header is not supported in kernel-mode.
+#endif
+
+// Note that we avoid pulling in STL's memory header from TraceLogging.h through Resource.h as we have
+// TraceLogging customers who are still on older versions of STL (without std::shared_ptr<>).
+#define RESOURCE_SUPPRESS_STL
+#ifndef __WIL_RESULT_INCLUDED
+#include
+#endif
+#undef RESOURCE_SUPPRESS_STL
+#include
+#include
+#include
+#ifndef __WIL_TRACELOGGING_CONFIG_H
+#include
+#endif
+#ifndef TRACELOGGING_SUPPRESS_NEW
+#include
+#endif
+
+#pragma warning(push)
+#pragma warning(disable: 26135) // Missing locking annotation, Caller failing to hold lock
+
+#ifdef __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wmicrosoft-template-shadow"
+#endif
+
+#ifndef __TRACELOGGING_TEST_HOOK_ERROR
+#define __TRACELOGGING_TEST_HOOK_ERROR(failure)
+#define __TRACELOGGING_TEST_HOOK_ACTIVITY_ERROR(failure)
+#define __TRACELOGGING_TEST_HOOK_CALLCONTEXT_ERROR(pFailure, hr)
+#define __TRACELOGGING_TEST_HOOK_ACTIVITY_START()
+#define __TRACELOGGING_TEST_HOOK_ACTIVITY_STOP(pFailure, hr)
+#define __TRACELOGGING_TEST_HOOK_SET_ENABLED false
+#define __TRACELOGGING_TEST_HOOK_VERIFY_API_TELEMETRY(nameSpace, apiList, specializationList, countArray, numCounters)
+#define __TRACELOGGING_TEST_HOOK_API_TELEMETRY_EVENT_DELAY_MS 5000
+#endif
+
+// For use only within wil\TraceLogging.h:
+#define _wiltlg_STRINGIZE(x) _wiltlg_STRINGIZE_imp(x)
+#define _wiltlg_STRINGIZE_imp(x) #x
+#define _wiltlg_LSTRINGIZE(x) _wiltlg_LSTRINGIZE_imp1(x)
+#define _wiltlg_LSTRINGIZE_imp1(x) _wiltlg_LSTRINGIZE_imp2(#x)
+#define _wiltlg_LSTRINGIZE_imp2(s) L##s
+
+/*
+Macro __TRACELOGGING_DEFINE_PROVIDER_STORAGE_LINK(name1, name2):
+This macro defines a storage link association between two names for use by the
+TlgReflector static analysis tool.
+*/
+#define __TRACELOGGING_DEFINE_PROVIDER_STORAGE_LINK(name1, name2) \
+ __annotation(L"_TlgProviderLink:|" _wiltlg_LSTRINGIZE(__LINE__) L"|Key|" _wiltlg_LSTRINGIZE(name1) L"=" _wiltlg_LSTRINGIZE(name2))
+
+// Utility macro for writing relevant fields from a wil::FailureInfo structure into a TraceLoggingWrite
+// statement. Most fields are relevant for telemetry or for simple ETW, but there are a few additional
+// fields reported via ETW.
+
+#define __RESULT_TELEMETRY_COMMON_FAILURE_PARAMS(failure) \
+ TraceLoggingUInt32((failure).hr, "hresult", "Failure error code"), \
+ TraceLoggingString((failure).pszFile, "fileName", "Source code file name where the error occurred"), \
+ TraceLoggingUInt32((failure).uLineNumber, "lineNumber", "Line number within the source code file where the error occurred"), \
+ TraceLoggingString((failure).pszModule, "module", "Name of the binary where the error occurred"), \
+ TraceLoggingUInt32(static_cast((failure).type), "failureType", "Indicates what type of failure was observed (exception, returned error, logged error or fail fast"), \
+ TraceLoggingWideString((failure).pszMessage, "message", "Custom message associated with the failure (if any)"), \
+ TraceLoggingUInt32((failure).threadId, "threadId", "Identifier of the thread the error occurred on"), \
+ TraceLoggingString((failure).pszCallContext, "callContext", "List of telemetry activities containing this error"), \
+ TraceLoggingUInt32((failure).callContextOriginating.contextId, "originatingContextId", "Identifier for the oldest telemetry activity containing this error"), \
+ TraceLoggingString((failure).callContextOriginating.contextName, "originatingContextName", "Name of the oldest telemetry activity containing this error"), \
+ TraceLoggingWideString((failure).callContextOriginating.contextMessage, "originatingContextMessage", "Custom message associated with the oldest telemetry activity containing this error (if any)"), \
+ TraceLoggingUInt32((failure).callContextCurrent.contextId, "currentContextId", "Identifier for the newest telemetry activity containing this error"), \
+ TraceLoggingString((failure).callContextCurrent.contextName, "currentContextName", "Name of the newest telemetry activity containing this error"), \
+ TraceLoggingWideString((failure).callContextCurrent.contextMessage, "currentContextMessage", "Custom message associated with the newest telemetry activity containing this error (if any)")
+
+#define __RESULT_TRACELOGGING_COMMON_FAILURE_PARAMS(failure) \
+ __RESULT_TELEMETRY_COMMON_FAILURE_PARAMS(failure), \
+ TraceLoggingUInt32(static_cast((failure).failureId), "failureId", "Identifier assigned to this failure"), \
+ TraceLoggingUInt32(static_cast((failure).cFailureCount), "failureCount", "Number of failures seen within the binary where the error occurred"), \
+ TraceLoggingString((failure).pszFunction, "function", "Name of the function where the error occurred")
+
+// Activity Start Event (ALL)
+#define __ACTIVITY_START_PARAMS() \
+ TraceLoggingStruct(1, "wilActivity"), \
+ TraceLoggingUInt32(::GetCurrentThreadId(), "threadId", "Identifier of the thread the activity was run on")
+
+// Activity Stop Event (SUCCESSFUL or those WITHOUT full failure info -- just hr)
+// Also utilized for intermediate stop events (a successful call to 'Stop()' from a Split activity
+#define __ACTIVITY_STOP_PARAMS(hr) \
+ TraceLoggingStruct(2, "wilActivity"), \
+ TraceLoggingUInt32(hr, "hresult", "Failure error code"), \
+ TraceLoggingUInt32(::GetCurrentThreadId(), "threadId", "Identifier of the thread the activity was run on")
+
+// Activity Stop Event (FAILED with full failure info)
+#define __ACTIVITY_STOP_TELEMETRY_FAILURE_PARAMS(failure) \
+ TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance), \
+ TraceLoggingStruct(14, "wilActivity"), \
+ __RESULT_TELEMETRY_COMMON_FAILURE_PARAMS(failure)
+#define __ACTIVITY_STOP_TRACELOGGING_FAILURE_PARAMS(failure) \
+ TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance), \
+ TraceLoggingStruct(17, "wilActivity"), \
+ __RESULT_TRACELOGGING_COMMON_FAILURE_PARAMS(failure)
+
+// "ActivityError" tagged event (all distinct FAILURES occurring within the outer activity scope)
+#define __ACTIVITY_ERROR_TELEMETRY_FAILURE_PARAMS(failure) \
+ TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance), \
+ TraceLoggingStruct(14, "wilActivity"), \
+ __RESULT_TELEMETRY_COMMON_FAILURE_PARAMS(failure)
+#define __ACTIVITY_ERROR_TRACELOGGING_FAILURE_PARAMS(failure) \
+ TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance), \
+ TraceLoggingStruct(17, "wilActivity"), \
+ __RESULT_TRACELOGGING_COMMON_FAILURE_PARAMS(failure)
+
+// "ActivityFailure" tagged event (only comes through on TELEMETRY for CallContext activities that have FAILED)
+#define __ACTIVITY_FAILURE_TELEMETRY_FAILURE_PARAMS(failure) \
+ TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance), \
+ TraceLoggingStruct(14, "wilActivity"), \
+ __RESULT_TELEMETRY_COMMON_FAILURE_PARAMS(failure)
+#define __ACTIVITY_FAILURE_TELEMETRY_PARAMS(hr, contextName, contextMessage) \
+ TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance), \
+ TraceLoggingStruct(4, "wilActivity"), \
+ TraceLoggingUInt32(hr, "hresult", "Failure error code"), \
+ TraceLoggingUInt32(::GetCurrentThreadId(), "threadId", "Identifier of the thread the activity was run on"), \
+ TraceLoggingString(contextName, "currentContextName", "Name of the activity containing this error"), \
+ TraceLoggingWideString(contextMessage, "currentContextMessage", "Custom message for the activity containing this error (if any)")
+
+// "FallbackError" events (all FAILURE events happening outside of ANY activity context)
+#define __RESULT_TELEMETRY_FAILURE_PARAMS(failure) \
+ TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance), \
+ TraceLoggingStruct(14, "wilResult"), \
+ __RESULT_TELEMETRY_COMMON_FAILURE_PARAMS(failure)
+#define __RESULT_TRACELOGGING_FAILURE_PARAMS(failure) \
+ TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance), \
+ TraceLoggingStruct(17, "wilResult"), \
+ __RESULT_TRACELOGGING_COMMON_FAILURE_PARAMS(failure)
+
+namespace wil
+{
+ enum class ActivityOptions
+ {
+ None = 0,
+ TelemetryOnFailure = 0x1,
+ TraceLoggingOnFailure = 0x2
+ };
+ DEFINE_ENUM_FLAG_OPERATORS(ActivityOptions)
+
+ template
+ class ActivityBase;
+
+ /// @cond
+ namespace details
+ {
+ // Lazy static initialization helper for holding a singleton telemetry class to maintain
+ // the provider handle.
+
+ template
+ class static_lazy
+ {
+ public:
+ void __cdecl cleanup() WI_NOEXCEPT
+ {
+ void* pVoid;
+ BOOL pending;
+
+ // If object is being constructed on another thread, wait until construction completes.
+ // Need a memory barrier here (see get() and ~Completer below) so use the result that we
+ // get from InitOnceBeginInitialize(..., &pVoid, ...)
+ if (::InitOnceBeginInitialize(&m_initOnce, INIT_ONCE_CHECK_ONLY, &pending, &pVoid) && !pending)
+ {
+ static_cast(pVoid)->~T();
+ }
+ }
+
+ T* get(void(__cdecl *cleanupFunc)(void)) WI_NOEXCEPT
+ {
+ void* pVoid{};
+ BOOL pending;
+ if (::InitOnceBeginInitialize(&m_initOnce, 0, &pending, &pVoid) && pending)
+ {
+ // Don't do anything non-trivial from DllMain, fail fast.
+ // Some 3rd party code in IE calls shell functions this way, so we can only enforce
+ // this in DEBUG.
+#ifdef DEBUG
+ FAIL_FAST_IMMEDIATE_IF_IN_LOADER_CALLOUT();
+#endif
+
+ Completer completer(this);
+ pVoid = &m_storage;
+ ::new(pVoid)T();
+ atexit(cleanupFunc); // ignore failure (that's what the C runtime does, too)
+ completer.Succeed();
+ }
+ return static_cast(pVoid);
+ }
+
+ private:
+ INIT_ONCE m_initOnce;
+ alignas(T) BYTE m_storage[sizeof(T)];
+ struct Completer
+ {
+ static_lazy *m_pSelf;
+ DWORD m_flags;
+
+ explicit Completer(static_lazy *pSelf) WI_NOEXCEPT : m_pSelf(pSelf), m_flags(INIT_ONCE_INIT_FAILED) { }
+ void Succeed() WI_NOEXCEPT { m_flags = 0; }
+
+ ~Completer() WI_NOEXCEPT
+ {
+ if (m_flags == 0)
+ {
+ reinterpret_cast(&m_pSelf->m_storage)->Create();
+ }
+ ::InitOnceComplete(&m_pSelf->m_initOnce, m_flags, &m_pSelf->m_storage);
+ }
+ };
+ };
+
+ // This class serves as a simple RAII wrapper around CallContextInfo. It presumes that
+ // the contextName parameter is always a static string, but copies or allocates the
+ // contextMessage as needed.
+
+ class StoredCallContextInfo : public wil::CallContextInfo
+ {
+ public:
+ StoredCallContextInfo() WI_NOEXCEPT
+ {
+ ::ZeroMemory(this, sizeof(*this));
+ }
+
+ StoredCallContextInfo(StoredCallContextInfo &&other) WI_NOEXCEPT :
+ StoredCallContextInfo()
+ {
+ operator=(wistd::move(other));
+ }
+
+ StoredCallContextInfo& operator=(StoredCallContextInfo &&other) WI_NOEXCEPT
+ {
+ contextId = other.contextId;
+ contextName = other.contextName;
+ ClearMessage();
+ contextMessage = other.contextMessage;
+ other.contextMessage = nullptr;
+ m_ownsMessage = other.m_ownsMessage;
+ other.m_ownsMessage = false;
+ return *this;
+ }
+
+ StoredCallContextInfo(StoredCallContextInfo const &other) WI_NOEXCEPT :
+ m_ownsMessage(false)
+ {
+ contextId = other.contextId;
+ contextName = other.contextName;
+ if (other.m_ownsMessage)
+ {
+ AssignMessage(other.contextMessage);
+ }
+ else
+ {
+ contextMessage = other.contextMessage;
+ }
+ }
+
+ StoredCallContextInfo(_In_opt_ PCSTR staticContextName) WI_NOEXCEPT :
+ m_ownsMessage(false)
+ {
+ contextId = 0;
+ contextName = staticContextName;
+ contextMessage = nullptr;
+ }
+
+ StoredCallContextInfo(PCSTR staticContextName, _Printf_format_string_ PCSTR formatString, va_list argList) WI_NOEXCEPT :
+ StoredCallContextInfo(staticContextName)
+ {
+ SetMessage(formatString, argList);
+ }
+
+ void SetMessage(_Printf_format_string_ PCSTR formatString, va_list argList)
+ {
+ wchar_t loggingMessage[2048];
+ PrintLoggingMessage(loggingMessage, ARRAYSIZE(loggingMessage), formatString, argList);
+ ClearMessage();
+ AssignMessage(loggingMessage);
+ }
+
+ void SetMessage(_In_opt_ PCWSTR message)
+ {
+ ClearMessage();
+ contextMessage = message;
+ }
+
+ void SetMessageCopy(_In_opt_ PCWSTR message)
+ {
+ ClearMessage();
+ if (message != nullptr)
+ {
+ AssignMessage(message);
+ }
+ }
+
+ void ClearMessage()
+ {
+ if (m_ownsMessage)
+ {
+ WIL_FreeMemory(const_cast(contextMessage));
+ m_ownsMessage = false;
+ }
+ contextMessage = nullptr;
+ }
+
+ ~StoredCallContextInfo()
+ {
+ ClearMessage();
+ }
+
+ StoredCallContextInfo& operator=(StoredCallContextInfo const &) = delete;
+
+ private:
+ void AssignMessage(PCWSTR message)
+ {
+ auto length = wcslen(message);
+ if (length > 0)
+ {
+ auto sizeBytes = (length + 1) * sizeof(wchar_t);
+ contextMessage = static_cast(WIL_AllocateMemory(sizeBytes));
+ if (contextMessage != nullptr)
+ {
+ m_ownsMessage = true;
+ memcpy_s(const_cast(contextMessage), sizeBytes, message, sizeBytes);
+ }
+ }
+ }
+
+ bool m_ownsMessage;
+ };
+
+ template
+ void SetRelatedActivityId(TActivity&)
+ {
+ }
+
+#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
+ template
+ void SetRelatedActivityId(wil::ActivityBase& activity)
+ {
+ GUID capturedRelatedId;
+ EventActivityIdControl(EVENT_ACTIVITY_CTRL_GET_ID, &capturedRelatedId);
+ activity.SetRelatedActivityId(capturedRelatedId);
+ }
+#endif
+
+ typedef wistd::integral_constant tag_start;
+ typedef wistd::integral_constant tag_start_cv;
+ } // namespace details
+ /// @endcond
+
+
+ // This class acts as a simple RAII class returned by a call to ContinueOnCurrentThread() for an activity
+ // or by a call to WatchCurrentThread() on a provider. The result is meant to be a stack local variable
+ // whose scope controls the lifetime of an error watcher on the given thread. That error watcher re-directs
+ // errors occurrent within the object's lifetime to the associated provider or activity.
+
+ class ActivityThreadWatcher
+ {
+ public:
+ ActivityThreadWatcher() WI_NOEXCEPT
+ : m_callbackHolder(nullptr, nullptr, false)
+ {}
+
+ ActivityThreadWatcher(_In_ details::IFailureCallback *pCallback, PCSTR staticContextName) WI_NOEXCEPT :
+ m_callContext(staticContextName),
+ m_callbackHolder(pCallback, &m_callContext)
+ {
+ }
+
+ ActivityThreadWatcher(_In_ details::IFailureCallback *pCallback, PCSTR staticContextName, _Printf_format_string_ PCSTR formatString, va_list argList) WI_NOEXCEPT :
+ ActivityThreadWatcher(pCallback, staticContextName)
+ {
+ m_callContext.SetMessage(formatString, argList);
+ }
+
+ // Uses the supplied StoredCallContextInfo rather than producing one itself
+ ActivityThreadWatcher(_In_ details::IFailureCallback *pCallback, _In_ details::StoredCallContextInfo const &callContext) WI_NOEXCEPT :
+ m_callContext(callContext),
+ m_callbackHolder(pCallback, &m_callContext)
+ {
+ }
+
+ ActivityThreadWatcher(ActivityThreadWatcher &&other) WI_NOEXCEPT :
+ m_callContext(wistd::move(other.m_callContext)),
+ m_callbackHolder(wistd::move(other.m_callbackHolder))
+ {
+ m_callbackHolder.SetCallContext(&m_callContext);
+ }
+
+ ActivityThreadWatcher(ActivityThreadWatcher const &) = delete;
+ ActivityThreadWatcher& operator=(ActivityThreadWatcher const &) = delete;
+
+ void SetMessage(_Printf_format_string_ PCSTR formatString, ...)
+ {
+ va_list argList;
+ va_start(argList, formatString);
+ m_callContext.SetMessage(formatString, argList);
+ va_end(argList);
+ }
+
+ void SetMessage(_In_opt_ PCWSTR message)
+ {
+ m_callContext.SetMessage(message);
+ }
+
+ void SetMessageCopy(_In_opt_ PCWSTR message)
+ {
+ m_callContext.SetMessageCopy(message);
+ }
+
+ private:
+ details::StoredCallContextInfo m_callContext;
+ details::ThreadFailureCallbackHolder m_callbackHolder;
+ };
+
+
+ // This is the base-class implementation of a TraceLogging class. TraceLogging classes are defined with
+ // BEGIN_TRACELOGGING_CLASS and automatically derive from this class
+
+ enum class ErrorReportingType
+ {
+ None = 0,
+ Telemetry,
+ TraceLogging
+ };
+
+ class TraceLoggingProvider : public details::IFailureCallback
+ {
+ public:
+ // Only one instance of each of these derived classes should be created
+ TraceLoggingProvider(_In_ TraceLoggingProvider const&) = delete;
+ TraceLoggingProvider& operator=(TraceLoggingProvider const&) = delete;
+ void* operator new(size_t) = delete;
+ void* operator new[](size_t) = delete;
+
+ protected:
+
+ // This can be overridden to provide specific initialization code for any individual provider.
+ // It will be ran once when the single static singleton instance of this class is created.
+ virtual void Initialize() WI_NOEXCEPT {}
+
+ // This method can be overridden by a provider to more tightly control what happens in the event
+ // of a failure in a CallContext activity, WatchCurrentThread() object, or attributed to a specific failure.
+ virtual void OnErrorReported(bool alreadyReported, FailureInfo const &failure) WI_NOEXCEPT
+ {
+ if (!alreadyReported && WI_IsFlagClear(failure.flags, FailureFlags::RequestSuppressTelemetry))
+ {
+ if (m_errorReportingType == ErrorReportingType::Telemetry)
+ {
+ ReportTelemetryFailure(failure);
+ }
+ else if (m_errorReportingType == ErrorReportingType::TraceLogging)
+ {
+ ReportTraceLoggingFailure(failure);
+ }
+ }
+ }
+
+ public:
+ WI_NODISCARD TraceLoggingHProvider Provider_() const WI_NOEXCEPT
+ {
+ return m_providerHandle;
+ }
+
+ protected:
+ TraceLoggingProvider() WI_NOEXCEPT {}
+
+ virtual ~TraceLoggingProvider() WI_NOEXCEPT
+ {
+ if (m_ownsProviderHandle)
+ {
+ TraceLoggingUnregister(m_providerHandle);
+ }
+ }
+
+ WI_NODISCARD bool IsEnabled_(UCHAR eventLevel /* WINEVENT_LEVEL_XXX, e.g. WINEVENT_LEVEL_VERBOSE */, ULONGLONG eventKeywords /* MICROSOFT_KEYWORD_XXX */) const WI_NOEXCEPT
+ {
+ return ((m_providerHandle != nullptr) && TraceLoggingProviderEnabled(m_providerHandle, eventLevel, eventKeywords)) || __TRACELOGGING_TEST_HOOK_SET_ENABLED;
+ }
+
+ void SetErrorReportingType_(ErrorReportingType type)
+ {
+ m_errorReportingType = type;
+ }
+
+ static bool WasAlreadyReportedToTelemetry(long failureId) WI_NOEXCEPT
+ {
+ static long volatile s_lastFailureSeen = -1;
+ auto wasSeen = (s_lastFailureSeen == failureId);
+ s_lastFailureSeen = failureId;
+ return wasSeen;
+ }
+
+ void ReportTelemetryFailure(FailureInfo const &failure) WI_NOEXCEPT
+ {
+ __TRACELOGGING_TEST_HOOK_ERROR(failure);
+ TraceLoggingWrite(m_providerHandle, "FallbackError", TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance), TraceLoggingKeyword(MICROSOFT_KEYWORD_TELEMETRY), TraceLoggingLevel(WINEVENT_LEVEL_ERROR), __RESULT_TELEMETRY_FAILURE_PARAMS(failure));
+ }
+
+ void ReportTraceLoggingFailure(FailureInfo const &failure) WI_NOEXCEPT
+ {
+ TraceLoggingWrite(m_providerHandle, "FallbackError", TraceLoggingLevel(WINEVENT_LEVEL_ERROR), __RESULT_TRACELOGGING_FAILURE_PARAMS(failure));
+ }
+
+ // Helper function for TraceLoggingError.
+ // It prints out a trace message for debug purposes. The message does not go into the telemetry.
+ void ReportTraceLoggingError(_In_ _Printf_format_string_ PCSTR formatString, va_list argList) WI_NOEXCEPT
+ {
+ if (IsEnabled_(WINEVENT_LEVEL_ERROR, 0))
+ {
+ wchar_t loggingMessage[2048];
+ details::PrintLoggingMessage(loggingMessage, ARRAYSIZE(loggingMessage), formatString, argList);
+ TraceLoggingWrite(m_providerHandle, "TraceLoggingError", TraceLoggingLevel(WINEVENT_LEVEL_ERROR), TraceLoggingWideString(loggingMessage, "traceLoggingMessage"));
+ }
+ }
+
+ // Helper function for TraceLoggingInfo.
+ // It prints out a trace message for debug purposes. The message does not go into the telemetry.
+ void ReportTraceLoggingMessage(_In_ _Printf_format_string_ PCSTR formatString, va_list argList) WI_NOEXCEPT
+ {
+ if (IsEnabled_(WINEVENT_LEVEL_VERBOSE, 0))
+ {
+ wchar_t loggingMessage[2048];
+ details::PrintLoggingMessage(loggingMessage, ARRAYSIZE(loggingMessage), formatString, argList);
+ TraceLoggingWrite(m_providerHandle, "TraceLoggingInfo", TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE), TraceLoggingWideString(loggingMessage, "traceLoggingMessage"));
+ }
+ }
+
+ void Register(TraceLoggingHProvider const providerHandle, TLG_PENABLECALLBACK callback = nullptr) WI_NOEXCEPT
+ {
+ // taking over the lifetime and management of providerHandle
+ m_providerHandle = providerHandle;
+ m_ownsProviderHandle = true;
+ TraceLoggingRegisterEx(providerHandle, callback, nullptr);
+ InternalInitialize();
+ }
+
+ void AttachProvider(TraceLoggingHProvider const providerHandle) WI_NOEXCEPT
+ {
+ m_providerHandle = providerHandle;
+ m_ownsProviderHandle = false;
+ InternalInitialize();
+ }
+
+ private:
+ // IFailureCallback
+ bool NotifyFailure(FailureInfo const &failure) WI_NOEXCEPT override
+ {
+ if (!WasAlreadyReportedToTelemetry(failure.failureId))
+ {
+ OnErrorReported(false, failure);
+ }
+ return true;
+ }
+
+ void InternalInitialize()
+ {
+ m_errorReportingType = ErrorReportingType::Telemetry;
+ Initialize();
+ }
+
+ TraceLoggingHProvider m_providerHandle{};
+ bool m_ownsProviderHandle{};
+ ErrorReportingType m_errorReportingType{};
+ };
+
+ template<
+ typename TraceLoggingType,
+ UINT64 keyword = 0,
+ UINT8 level = WINEVENT_LEVEL_VERBOSE,
+ typename TlgReflectorTag = _TlgReflectorTag_Param0IsProviderType> // helps TlgReflector understand that this is a wrapper type
+ class BasicActivity
+ : public _TlgActivityBase, keyword, level>
+ {
+ using BaseTy = _TlgActivityBase, keyword, level>;
+ friend BaseTy;
+
+ void OnStarted()
+ {
+ }
+
+ void OnStopped()
+ {
+ }
+
+ public:
+
+ BasicActivity()
+ {
+ }
+
+ BasicActivity(BasicActivity&& rhs) :
+ BaseTy(wistd::move(rhs))
+ {
+ }
+
+ BasicActivity& operator=(BasicActivity&& rhs)
+ {
+ BaseTy::operator=(wistd::move(rhs));
+ return *this;
+ }
+
+ /*
+ Returns a handle to the TraceLogging provider associated with this activity.
+ */
+ WI_NODISCARD TraceLoggingHProvider Provider() const
+ {
+ return TraceLoggingType::Provider();
+ }
+
+ /*
+ Sets the related (parent) activity.
+ May only be called once. If used, must be called before starting the activity.
+ */
+ template
+ void SetRelatedActivity(_In_ const ActivityTy& relatedActivity)
+ {
+ this->SetRelatedId(*relatedActivity.Id());
+ }
+
+ /*
+ Sets the related (parent) activity.
+ May only be called once. If used, must be called before starting the activity.
+ */
+ void SetRelatedActivityId(_In_ const GUID& relatedActivityId)
+ {
+ this->SetRelatedId(relatedActivityId);
+ }
+
+ /*
+ Sets the related (parent) activity.
+ May only be called once. If used, must be called before starting the activity.
+ */
+ void SetRelatedActivityId(_In_ const GUID* relatedActivityId)
+ {
+ __FAIL_FAST_IMMEDIATE_ASSERT__(relatedActivityId != NULL);
+ this->SetRelatedId(*relatedActivityId);
+ }
+ };
+
+ template<
+ typename TraceLoggingType,
+ UINT64 keyword = 0,
+ UINT8 level = WINEVENT_LEVEL_VERBOSE,
+ typename TlgReflectorTag = _TlgReflectorTag_Param0IsProviderType> // helps TlgReflector understand that this is a wrapper type
+ class BasicThreadActivity
+ : public _TlgActivityBase, keyword, level>
+ {
+ using BaseTy = _TlgActivityBase, keyword, level>;
+ friend BaseTy;
+
+ void OnStarted()
+ {
+ this->PushThreadActivityId();
+ }
+
+ void OnStopped()
+ {
+ this->PopThreadActivityId();
+ }
+
+ public:
+
+ BasicThreadActivity()
+ {
+ }
+
+ BasicThreadActivity(BasicThreadActivity&& rhs)
+ : BaseTy(wistd::move(rhs))
+ {
+ }
+
+ BasicThreadActivity& operator=(BasicThreadActivity&& rhs)
+ {
+ BaseTy::operator=(wistd::move(rhs));
+ return *this;
+ }
+
+ /*
+ Returns a handle to the TraceLogging provider associated with this activity.
+ */
+ WI_NODISCARD TraceLoggingHProvider Provider() const
+ {
+ return TraceLoggingType::Provider();
+ }
+ };
+
+#define __WI_TraceLoggingWriteTagged(activity, name, ...) \
+ __pragma(warning(push)) __pragma(warning(disable:4127)) \
+ do { \
+ _tlgActivityDecl(activity) \
+ TraceLoggingWriteActivity( \
+ TraceLoggingType::Provider(), \
+ (name), \
+ _tlgActivityRef(activity).Id(), \
+ NULL, \
+ __VA_ARGS__); \
+ } while(0) \
+ __pragma(warning(pop)) \
+
+
+ // This is the ultimate base class implementation for all activities. Activity classes are defined with
+ // DEFINE_TRACELOGGING_ACTIVITY, DEFINE_CALLCONTEXT_ACTIVITY, DEFINE_TELEMETRY_ACTIVITY and others
+
+
+ template
+ class ActivityBase : public details::IFailureCallback
+ {
+ public:
+ typedef ActivityTraceLoggingType TraceLoggingType;
+
+ static UINT64 const Keyword = keyword;
+ static UINT8 const Level = level;
+ static UINT64 const PrivacyTag = privacyTag;
+
+ ActivityBase(PCSTR contextName, bool shouldWatchErrors = false) WI_NOEXCEPT :
+ m_activityData(contextName),
+ m_pActivityData(&m_activityData),
+ m_callbackHolder(this, m_activityData.GetCallContext(), shouldWatchErrors)
+ {
+ }
+
+ ActivityBase(ActivityBase &&other, bool shouldWatchErrors) WI_NOEXCEPT :
+ m_activityData(wistd::move(other.m_activityData)),
+ m_sharedActivityData(wistd::move(other.m_sharedActivityData)),
+ m_callbackHolder(this, nullptr, shouldWatchErrors)
+ {
+ m_pActivityData = m_sharedActivityData ? m_sharedActivityData.get() : &m_activityData;
+ m_callbackHolder.SetCallContext(m_pActivityData->GetCallContext());
+ other.m_pActivityData = &other.m_activityData;
+ if (other.m_callbackHolder.IsWatching())
+ {
+ other.m_callbackHolder.StopWatching();
+ }
+ }
+
+ ActivityBase(ActivityBase &&other) WI_NOEXCEPT :
+ ActivityBase(wistd::move(other), other.m_callbackHolder.IsWatching())
+ {
+ }
+
+ ActivityBase(ActivityBase const &other) WI_NOEXCEPT :
+ m_activityData(),
+ m_pActivityData(&m_activityData),
+ m_callbackHolder(this, nullptr, false) // false = do not automatically watch for failures
+ {
+ operator=(other);
+ }
+
+ ActivityBase& operator=(ActivityBase &&other) WI_NOEXCEPT
+ {
+ m_activityData = wistd::move(other.m_activityData);
+ m_sharedActivityData = wistd::move(other.m_sharedActivityData);
+ m_pActivityData = m_sharedActivityData ? m_sharedActivityData.get() : &m_activityData;
+ m_callbackHolder.SetCallContext(m_pActivityData->GetCallContext());
+ m_callbackHolder.SetWatching(other.m_callbackHolder.IsWatching());
+ other.m_pActivityData = &other.m_activityData;
+ if (other.m_callbackHolder.IsWatching())
+ {
+ other.m_callbackHolder.StopWatching();
+ }
+ return *this;
+ }
+
+ ActivityBase& operator=(ActivityBase const &other) WI_NOEXCEPT
+ {
+ if (m_callbackHolder.IsWatching())
+ {
+ m_callbackHolder.StopWatching();
+ }
+
+ if (other.m_sharedActivityData)
+ {
+ m_pActivityData = other.m_pActivityData;
+ m_sharedActivityData = other.m_sharedActivityData;
+ }
+ else if (m_sharedActivityData.create(wistd::move(other.m_activityData)))
+ {
+ // Locking should not be required as the first copy should always take place on the owning
+ // thread...
+ m_pActivityData = m_sharedActivityData.get();
+ other.m_sharedActivityData = m_sharedActivityData;
+ other.m_pActivityData = m_pActivityData;
+ other.m_callbackHolder.SetCallContext(m_pActivityData->GetCallContext());
+ }
+ m_callbackHolder.SetCallContext(m_pActivityData->GetCallContext());
+ return *this;
+ }
+
+ // These calls all result in setting a message to associate with any failures that might occur while
+ // running the activity. For example, you could associate a filename with a call context activity
+ // so that the file name is only reported if the activity fails with the failure.
+
+ void SetMessage(_In_ _Printf_format_string_ PCSTR formatString, ...)
+ {
+ va_list argList;
+ va_start(argList, formatString);
+ auto lock = LockExclusive();
+ GetCallContext()->SetMessage(formatString, argList);
+ va_end(argList);
+ }
+
+ void SetMessage(_In_opt_ PCWSTR message)
+ {
+ auto lock = LockExclusive();
+ GetCallContext()->SetMessage(message);
+ }
+
+ void SetMessageCopy(_In_opt_ PCWSTR message)
+ {
+ auto lock = LockExclusive();
+ GetCallContext()->SetMessageCopy(message);
+ }
+
+ // This call stops watching for errors on the thread that the activity was originally
+ // created on. Use it when moving the activity into a thread-agnostic class or moving
+ // an activity across threads.
+
+ void IgnoreCurrentThread() WI_NOEXCEPT
+ {
+ if (m_callbackHolder.IsWatching())
+ {
+ m_callbackHolder.StopWatching();
+ }
+ }
+
+ // Call this API to retrieve an RAII object to watch events on the current thread. The returned
+ // object should only be used on the stack.
+
+ WI_NODISCARD ActivityThreadWatcher ContinueOnCurrentThread() WI_NOEXCEPT
+ {
+ if (IsRunning())
+ {
+ return ActivityThreadWatcher(this, *m_pActivityData->GetCallContext());
+ }
+ return ActivityThreadWatcher();
+ }
+
+ // This is the 'default' Stop routine that accepts an HRESULT and completes the activity...
+
+ void Stop(HRESULT hr = S_OK) WI_NOEXCEPT
+ {
+ bool stopActivity;
+ HRESULT hrLocal;
+ {
+ auto lock = LockExclusive();
+ stopActivity = m_pActivityData->SetStopResult(hr, &hrLocal);
+ }
+ if (stopActivity)
+ {
+ ReportStopActivity(hrLocal);
+ }
+ else
+ {
+ __WI_TraceLoggingWriteTagged(*this, "ActivityIntermediateStop", TraceLoggingKeyword(Keyword), TelemetryPrivacyDataTag(PDT_ProductAndServicePerformance), __ACTIVITY_STOP_PARAMS(hr));
+ }
+ IgnoreCurrentThread();
+ }
+
+ // IFailureCallback
+
+ bool NotifyFailure(FailureInfo const &failure) WI_NOEXCEPT override
+ {
+ // We always report errors to the ETW stream, but we hold-back the telemetry keyword if we've already reported this error to this
+ // particular telemetry provider.
+
+ __TRACELOGGING_TEST_HOOK_ACTIVITY_ERROR(failure);
+
+ if (WI_IsFlagClear(failure.flags, FailureFlags::RequestSuppressTelemetry))
+ {
+#ifdef __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wunused-value"
+#endif
+#pragma warning(push)
+#pragma warning(disable: 6319)
+ if (false, WI_IsFlagSet(options, ActivityOptions::TelemetryOnFailure) && !WasAlreadyReportedToTelemetry(failure.failureId))
+ {
+ __WI_TraceLoggingWriteTagged(*this, "ActivityError", TraceLoggingKeyword(Keyword | MICROSOFT_KEYWORD_TELEMETRY), TraceLoggingLevel(WINEVENT_LEVEL_ERROR), __ACTIVITY_ERROR_TELEMETRY_FAILURE_PARAMS(failure));
+ }
+ else if (false, WI_IsFlagSet(options, ActivityOptions::TraceLoggingOnFailure))
+ {
+ __WI_TraceLoggingWriteTagged(*this, "ActivityError", TraceLoggingKeyword(0), TraceLoggingLevel(WINEVENT_LEVEL_ERROR), __ACTIVITY_ERROR_TRACELOGGING_FAILURE_PARAMS(failure));
+ }
+ else
+ {
+ __WI_TraceLoggingWriteTagged(*this, "ActivityError", TraceLoggingKeyword(Keyword), TraceLoggingLevel(WINEVENT_LEVEL_ERROR), __ACTIVITY_ERROR_TRACELOGGING_FAILURE_PARAMS(failure));
+ }
+#pragma warning(pop)
+#ifdef __clang__
+#pragma clang diagnostic pop
+#endif
+ }
+
+ auto lock = LockExclusive();
+ m_pActivityData->NotifyFailure(failure);
+ return true;
+ }
+
+ // This is the base TraceLoggingActivity<> contract... we implement it so that this class
+ // can be used by all of the activity macros and we re-route the request as needed.
+ //
+ // The contract required by the TraceLogging Activity macros is:
+ // - activity.Keyword // compile-time constant
+ // - activity.Level // compile-time constant
+ // - activity.PrivacyTag // compile-time constant
+ // - activity.Provider()
+ // - activity.Id()
+ // - activity.zInternalRelatedId()
+ // - activity.zInternalStart()
+ // - activity.zInternalStop()
+ // In addition, for TlgReflector to work correctly, it must be possible for
+ // TlgReflector to statically map from typeof(activity) to hProvider.
+
+ WI_NODISCARD GUID const* zInternalRelatedId() const WI_NOEXCEPT
+ {
+ return m_pActivityData->zInternalRelatedId();
+ }
+
+ void zInternalStart() WI_NOEXCEPT
+ {
+ auto lock = LockExclusive(); m_pActivityData->zInternalStart();
+ }
+
+ void zInternalStop() WI_NOEXCEPT
+ {
+ auto lock = LockExclusive(); m_pActivityData->zInternalStop();
+ }
+
+ static TraceLoggingHProvider Provider() WI_NOEXCEPT
+ {
+ return ActivityTraceLoggingType::Provider();
+ }
+
+ WI_NODISCARD GUID const* Id() const WI_NOEXCEPT
+ {
+ return m_pActivityData->Id();
+ }
+
+ WI_NODISCARD GUID const* providerGuid() const WI_NOEXCEPT
+ {
+ return m_pActivityData->providerGuid();
+ }
+
+ template
+ void SetRelatedActivity(OtherTy const &relatedActivity) WI_NOEXCEPT
+ {
+ auto lock = LockExclusive();
+ m_pActivityData->SetRelatedActivityId(relatedActivity.Id());
+ }
+
+ void SetRelatedActivityId(_In_ const GUID& relatedActivityId) WI_NOEXCEPT
+ {
+ auto lock = LockExclusive();
+ m_pActivityData->SetRelatedActivityId(&relatedActivityId);
+ }
+
+ void SetRelatedActivityId(_In_ const GUID* relatedActivityId) WI_NOEXCEPT
+ {
+ auto lock = LockExclusive();
+ m_pActivityData->SetRelatedActivityId(relatedActivityId);
+ }
+
+ WI_NODISCARD inline bool IsRunning() const WI_NOEXCEPT
+ {
+ return m_pActivityData->NeedsStopped();
+ }
+ protected:
+ virtual void StopActivity() WI_NOEXCEPT = 0;
+ virtual bool WasAlreadyReportedToTelemetry(long failureId) WI_NOEXCEPT = 0;
+
+ void EnsureWatchingCurrentThread()
+ {
+ if (!m_callbackHolder.IsWatching())
+ {
+ m_callbackHolder.StartWatching();
+ }
+ }
+
+ void SetStopResult(HRESULT hr, _Out_opt_ HRESULT *phr = nullptr) WI_NOEXCEPT
+ {
+ auto lock = LockExclusive();
+ m_pActivityData->SetStopResult(hr, phr);
+ }
+
+ void IncrementExpectedStopCount() WI_NOEXCEPT
+ {
+ auto lock = LockExclusive();
+ m_pActivityData->IncrementExpectedStopCount();
+ }
+
+ // Locking should not be required on these accessors as we only use this at reporting (which will only happen from
+ // the final stop)
+
+ FailureInfo const* GetFailureInfo() WI_NOEXCEPT
+ {
+ return m_pActivityData->GetFailureInfo();
+ }
+
+ WI_NODISCARD inline HRESULT GetResult() const WI_NOEXCEPT
+ {
+ return m_pActivityData->GetResult();
+ }
+
+ WI_NODISCARD details::StoredCallContextInfo* GetCallContext() const WI_NOEXCEPT
+ {
+ return m_pActivityData->GetCallContext();
+ }
+
+ // Think of this routine as the destructor -- since we need to call virtual derived methods, we can't use it as
+ // a destructor without a pure virtual method call, so we have the derived class call it in its destructor...
+
+ void Destroy() WI_NOEXCEPT
+ {
+ bool fStop = true;
+ if (m_sharedActivityData)
+ {
+ // The lock unifies the 'unique()' check and the 'reset()' of any non-unique activity so that we
+ // can positively identify the final release of the internal data
+
+ auto lock = LockExclusive();
+ if (!m_sharedActivityData.unique())
+ {
+ fStop = false;
+ m_sharedActivityData.reset();
+ }
+ }
+
+ if (fStop && m_pActivityData->NeedsStopped())
+ {
+ ReportStopActivity(m_pActivityData->SetUnhandledException());
+ }
+ }
+
+ private:
+ void ReportStopActivity(HRESULT hr) WI_NOEXCEPT
+ {
+ if (FAILED(hr) && WI_AreAllFlagsClear(Keyword, (MICROSOFT_KEYWORD_TELEMETRY | MICROSOFT_KEYWORD_MEASURES | MICROSOFT_KEYWORD_CRITICAL_DATA)) && WI_IsFlagSet(options, ActivityOptions::TelemetryOnFailure))
+ {
+ wil::FailureInfo const* pFailure = GetFailureInfo();
+ if (pFailure != nullptr)
+ {
+ __TRACELOGGING_TEST_HOOK_CALLCONTEXT_ERROR(pFailure, pFailure->hr);
+ auto & failure = *pFailure;
+ __WI_TraceLoggingWriteTagged(*this, "ActivityFailure", TraceLoggingKeyword(Keyword | MICROSOFT_KEYWORD_TELEMETRY), TraceLoggingLevel(WINEVENT_LEVEL_ERROR), __ACTIVITY_FAILURE_TELEMETRY_FAILURE_PARAMS(failure));
+ }
+ else
+ {
+ __TRACELOGGING_TEST_HOOK_CALLCONTEXT_ERROR(nullptr, hr);
+ __WI_TraceLoggingWriteTagged(*this, "ActivityFailure", TraceLoggingKeyword(Keyword | MICROSOFT_KEYWORD_TELEMETRY), TraceLoggingLevel(WINEVENT_LEVEL_ERROR),
+ __ACTIVITY_FAILURE_TELEMETRY_PARAMS(hr, m_pActivityData->GetCallContext()->contextName, m_pActivityData->GetCallContext()->contextMessage));
+ }
+ }
+
+ StopActivity();
+ }
+
+ rwlock_release_exclusive_scope_exit LockExclusive() WI_NOEXCEPT
+ {
+ // We only need to lock when we're sharing....
+ return (m_sharedActivityData ? m_sharedActivityData->LockExclusive() : rwlock_release_exclusive_scope_exit());
+ }
+
+ template
+ class ActivityData :
+ public _TlgActivityBase, keyword, level>
+ {
+ using BaseTy = _TlgActivityBase, keyword, level>;
+ friend BaseTy;
+ void OnStarted() {}
+ void OnStopped() {}
+
+ // SFINAE dispatching on presence of ActivityTraceLoggingType::CreateActivityId(_Out_ GUID& childActivityId, _In_opt_ const GUID* relatedActivityId)
+ template
+ auto CreateActivityIdByProviderType(int, _Out_ GUID& childActivityId) ->
+ decltype(ProviderType::CreateActivityId(childActivityId, this->GetRelatedId()), (void)0)
+ {
+ ProviderType::CreateActivityId(childActivityId, this->GetRelatedId());
+ }
+
+ template
+ auto CreateActivityIdByProviderType(long, _Out_ GUID& childActivityId) ->
+ void
+ {
+ EventActivityIdControl(EVENT_ACTIVITY_CTRL_CREATE_ID, &childActivityId);
+ }
+
+ void CreateActivityId(_Out_ GUID& childActivityId)
+ {
+ CreateActivityIdByProviderType(0, childActivityId);
+ }
+
+ public:
+ ActivityData(_In_opt_ PCSTR contextName = nullptr) WI_NOEXCEPT :
+ BaseTy(),
+ m_callContext(contextName),
+ m_result(S_OK),
+ m_stopCountExpected(1)
+ {
+ }
+
+ ActivityData(ActivityData &&other) WI_NOEXCEPT :
+ BaseTy(wistd::move(other)),
+ m_callContext(wistd::move(other.m_callContext)),
+ m_result(other.m_result),
+ m_failure(wistd::move(other.m_failure)),
+ m_stopCountExpected(other.m_stopCountExpected)
+ {
+ }
+
+ ActivityData & operator=(ActivityData &&other) WI_NOEXCEPT
+ {
+ BaseTy::operator=(wistd::move(other));
+ m_callContext = wistd::move(other.m_callContext);
+ m_result = other.m_result;
+ m_failure = wistd::move(other.m_failure);
+ m_stopCountExpected = other.m_stopCountExpected;
+ return *this;
+ }
+
+ ActivityData(ActivityData const &other) = delete;
+ ActivityData & operator=(ActivityData const &other) = delete;
+
+ // returns true if the event was reported to telemetry
+ void NotifyFailure(FailureInfo const &failure) WI_NOEXCEPT
+ {
+ if ((failure.hr != m_failure.GetFailureInfo().hr) && // don't replace with the same error (likely propagation up the stack)
+ ((failure.hr != m_result) || SUCCEEDED(m_result))) // don't replace if we've already got the current explicitly supplied failure code
+ {
+ m_failure.SetFailureInfo(failure);
+ }
+ }
+
+ rwlock_release_exclusive_scope_exit LockExclusive() WI_NOEXCEPT
+ {
+ return m_lock.lock_exclusive();
+ }
+
+ static TraceLoggingHProvider Provider()
+ {
+ return ActivityTraceLoggingType::Provider();
+ }
+
+ WI_NODISCARD bool NeedsStopped() const WI_NOEXCEPT
+ {
+ return BaseTy::IsStarted();
+ }
+
+ void SetRelatedActivityId(const GUID* relatedId)
+ {
+ this->SetRelatedId(*relatedId);
+ }
+
+ bool SetStopResult(HRESULT hr, _Out_opt_ HRESULT *phr) WI_NOEXCEPT
+ {
+ // We must be expecting at least one Stop -- otherwise the caller is calling Stop() more times
+ // than it can (normally once, or +1 for each call to Split())
+ __FAIL_FAST_IMMEDIATE_ASSERT__(m_stopCountExpected >= 1);
+ if (SUCCEEDED(m_result))
+ {
+ m_result = hr;
+ }
+ if (phr != nullptr)
+ {
+ *phr = m_result;
+ }
+ return ((--m_stopCountExpected) == 0);
+ }
+
+ HRESULT SetUnhandledException() WI_NOEXCEPT
+ {
+ HRESULT hr = m_failure.GetFailureInfo().hr;
+ SetStopResult(FAILED(hr) ? hr : HRESULT_FROM_WIN32(ERROR_UNHANDLED_EXCEPTION), &hr);
+ return hr;
+ }
+
+ void IncrementExpectedStopCount() WI_NOEXCEPT
+ {
+ m_stopCountExpected++;
+ }
+
+ WI_NODISCARD FailureInfo const* GetFailureInfo() const WI_NOEXCEPT
+ {
+ return (FAILED(m_result) && (m_result == m_failure.GetFailureInfo().hr)) ? &m_failure.GetFailureInfo() : nullptr;
+ }
+
+ WI_NODISCARD inline HRESULT GetResult() const WI_NOEXCEPT
+ {
+ return m_result;
+ }
+
+ details::StoredCallContextInfo *GetCallContext() WI_NOEXCEPT
+ {
+ return &m_callContext;
+ }
+
+ private:
+ details::StoredCallContextInfo m_callContext;
+ HRESULT m_result;
+ StoredFailureInfo m_failure;
+ int m_stopCountExpected;
+ wil::srwlock m_lock;
+ };
+
+ mutable ActivityData m_activityData;
+ mutable ActivityData *m_pActivityData;
+ mutable details::shared_object> m_sharedActivityData;
+ mutable details::ThreadFailureCallbackHolder m_callbackHolder;
+ };
+
+} // namespace wil
+
+
+// Internal MACRO implementation of Activities.
+// Do NOT use these macros directly.
+
+#define __WI_TraceLoggingWriteStart(activity, name, ...) \
+ __pragma(warning(push)) __pragma(warning(disable:4127)) \
+ do { \
+ _tlgActivityDecl(activity) \
+ static const UINT64 _tlgActivity_Keyword = _tlgActivityRef(activity).Keyword;\
+ static const UINT8 _tlgActivity_Level = _tlgActivityRef(activity).Level;\
+ static const UINT64 _tlgActivityPrivacyTag = _tlgActivityRef(activity).PrivacyTag;\
+ static_assert( \
+ _tlgActivity_Keyword == (_tlgActivity_Keyword _tlg_FOREACH(_tlgKeywordVal, __VA_ARGS__)), \
+ "Do not use TraceLoggingKeyword in TraceLoggingWriteStart. Keywords for START events are " \
+ "specified in the activity type, e.g. TraceLoggingActivity."); \
+ static_assert( \
+ _tlgActivity_Level == (_tlgActivity_Level _tlg_FOREACH(_tlgLevelVal, __VA_ARGS__)), \
+ "Do not use TraceLoggingLevel in TraceLoggingWriteStart. The Level for START events is " \
+ "specified in the activity type, e.g. TraceLoggingActivity."); \
+ _tlgActivityRef(activity).zInternalStart(); \
+ TraceLoggingWriteActivity( \
+ TraceLoggingType::Provider(), \
+ (name), \
+ _tlgActivityRef(activity).Id(), \
+ _tlgActivityRef(activity).zInternalRelatedId(), \
+ TraceLoggingOpcode(1 /* WINEVENT_OPCODE_START */), \
+ TraceLoggingKeyword(_tlgActivity_Keyword), \
+ TraceLoggingLevel(_tlgActivity_Level), \
+ TelemetryPrivacyDataTag(_tlgActivityPrivacyTag), \
+ TraceLoggingDescription("~^" _wiltlg_LSTRINGIZE(activity) L"^~"), \
+ __VA_ARGS__); \
+ } while(0) \
+ __pragma(warning(pop)) \
+
+#define __WRITE_ACTIVITY_START(EventId, ...) \
+ __TRACELOGGING_TEST_HOOK_ACTIVITY_START(); \
+ __WI_TraceLoggingWriteStart(*this, #EventId, __ACTIVITY_START_PARAMS(), __VA_ARGS__); \
+ EnsureWatchingCurrentThread()
+
+#define __WI_TraceLoggingWriteStop(activity, name, ...) \
+ __pragma(warning(push)) __pragma(warning(disable:4127)) \
+ do { \
+ _tlgActivityDecl(activity) \
+ static const UINT64 _tlgActivity_Keyword = _tlgActivityRef(activity).Keyword;\
+ static const UINT8 _tlgActivity_Level = _tlgActivityRef(activity).Level;\
+ static const UINT64 _tlgActivityPrivacyTag = _tlgActivityRef(activity).PrivacyTag;\
+ static_assert( \
+ _tlgActivity_Keyword == (_tlgActivity_Keyword _tlg_FOREACH(_tlgKeywordVal, __VA_ARGS__)), \
+ "Do not use TraceLoggingKeyword in TraceLoggingWriteStop. Keywords for STOP events are " \
+ "specified in the activity type, e.g. TraceLoggingActivity."); \
+ static_assert( \
+ _tlgActivity_Level == (_tlgActivity_Level _tlg_FOREACH(_tlgLevelVal, __VA_ARGS__)), \
+ "Do not use TraceLoggingLevel in TraceLoggingWriteStop. The Level for STOP events is " \
+ "specified in the activity type, e.g. TraceLoggingActivity."); \
+ _tlgActivityRef(activity).zInternalStop(); \
+ TraceLoggingWriteActivity( \
+ TraceLoggingType::Provider(), \
+ (name), \
+ _tlgActivityRef(activity).Id(), \
+ NULL, \
+ TraceLoggingOpcode(2 /* WINEVENT_OPCODE_STOP */),\
+ TraceLoggingKeyword(_tlgActivity_Keyword),\
+ TraceLoggingLevel(_tlgActivity_Level),\
+ TelemetryPrivacyDataTag(_tlgActivityPrivacyTag), \
+ TraceLoggingDescription("~^" _wiltlg_LSTRINGIZE(activity) L"^~"),\
+ __VA_ARGS__); \
+ } while(0) \
+ __pragma(warning(pop)) \
+
+#define __WRITE_ACTIVITY_STOP(EventId, ...) \
+ wil::FailureInfo const* pFailure = GetFailureInfo(); \
+ if (pFailure != nullptr) \
+ { \
+ __TRACELOGGING_TEST_HOOK_ACTIVITY_STOP(pFailure, pFailure->hr); \
+ auto &failure = *pFailure; \
+ if (false, WI_IsAnyFlagSet(Keyword, (MICROSOFT_KEYWORD_TELEMETRY | MICROSOFT_KEYWORD_MEASURES | MICROSOFT_KEYWORD_CRITICAL_DATA))) \
+ { \
+ __WI_TraceLoggingWriteStop(*this, #EventId, __ACTIVITY_STOP_TELEMETRY_FAILURE_PARAMS(failure), __VA_ARGS__); \
+ } \
+ else \
+ { \
+ __WI_TraceLoggingWriteStop(*this, #EventId, __ACTIVITY_STOP_TRACELOGGING_FAILURE_PARAMS(failure), __VA_ARGS__); \
+ } \
+ } \
+ else \
+ { \
+ __TRACELOGGING_TEST_HOOK_ACTIVITY_STOP(nullptr, GetResult()); \
+ __WI_TraceLoggingWriteStop(*this, #EventId, __ACTIVITY_STOP_PARAMS(GetResult()), __VA_ARGS__); \
+ } \
+ IgnoreCurrentThread();
+
+// optional params are: KeyWord, Level, PrivacyTags, Options
+#define __BEGIN_TRACELOGGING_ACTIVITY_CLASS(ActivityClassName, ...) \
+ class ActivityClassName final : public wil::ActivityBase \
+ { \
+ protected: \
+ void StopActivity() WI_NOEXCEPT override \
+ { __WRITE_ACTIVITY_STOP(ActivityClassName); } \
+ bool WasAlreadyReportedToTelemetry(long failureId) WI_NOEXCEPT override \
+ { return TraceLoggingType::WasAlreadyReportedToTelemetry(failureId); } \
+ public: \
+ static bool IsEnabled() WI_NOEXCEPT \
+ { return TraceLoggingType::IsEnabled(); } \
+ ~ActivityClassName() WI_NOEXCEPT { ActivityBase::Destroy(); } \
+ ActivityClassName(ActivityClassName const &other) WI_NOEXCEPT : ActivityBase(other) {} \
+ ActivityClassName(ActivityClassName &&other) WI_NOEXCEPT : ActivityBase(wistd::move(other)) {} \
+ ActivityClassName(ActivityClassName &&other, bool shouldWatchErrors) WI_NOEXCEPT : ActivityBase(wistd::move(other), shouldWatchErrors) {} \
+ ActivityClassName& operator=(ActivityClassName const &other) WI_NOEXCEPT \
+ { ActivityBase::operator=(other); return *this; } \
+ ActivityClassName& operator=(ActivityClassName &&other) WI_NOEXCEPT \
+ { auto localActivity(wistd::move(*this)); ActivityBase::operator=(wistd::move(other)); return *this; } \
+ WI_NODISCARD explicit operator bool() const WI_NOEXCEPT \
+ { return IsRunning(); } \
+ void StopWithResult(HRESULT hr) \
+ { ActivityBase::Stop(hr); } \
+ template \
+ void StopWithResult(HRESULT hr, TArgs&&... args) \
+ { SetStopResult(hr); Stop(wistd::forward(args)...); } \
+ void Stop(HRESULT hr = S_OK) WI_NOEXCEPT \
+ { ActivityBase::Stop(hr); } \
+ void StartActivity() WI_NOEXCEPT \
+ { __WRITE_ACTIVITY_START(ActivityClassName); } \
+ void StartRelatedActivity() WI_NOEXCEPT \
+ { wil::details::SetRelatedActivityId(*this); StartActivity(); } \
+ void StartActivityWithCorrelationVector(PCSTR correlationVector) WI_NOEXCEPT \
+ { __WRITE_ACTIVITY_START(ActivityClassName, TraceLoggingString(correlationVector, "__TlgCV__")); } \
+ WI_NODISCARD ActivityClassName Split() WI_NOEXCEPT \
+ { __FAIL_FAST_IMMEDIATE_ASSERT__(IsRunning()); IncrementExpectedStopCount(); return ActivityClassName(*this); } \
+ WI_NODISCARD ActivityClassName TransferToCurrentThread() WI_NOEXCEPT \
+ { return ActivityClassName(wistd::move(*this), IsRunning()); } \
+ WI_NODISCARD ActivityClassName TransferToMember() WI_NOEXCEPT \
+ { return ActivityClassName(wistd::move(*this), false); }
+
+#define __IMPLEMENT_ACTIVITY_CLASS(ActivityClassName) \
+ private: \
+ template \
+ ActivityClassName(wil::details::tag_start, TArgs&&... args) WI_NOEXCEPT : ActivityBase(#ActivityClassName) \
+ { StartActivity(wistd::forward(args)...); \
+ __TRACELOGGING_DEFINE_PROVIDER_STORAGE_LINK("this", ActivityClassName); } \
+ template \
+ ActivityClassName(wil::details::tag_start_cv, _In_opt_ PCSTR correlationVector, TArgs&&... args) WI_NOEXCEPT : ActivityBase(#ActivityClassName) \
+ { StartActivityWithCorrelationVector(correlationVector, wistd::forward(args)...); \
+ __TRACELOGGING_DEFINE_PROVIDER_STORAGE_LINK("this", ActivityClassName); } \
+ public: \
+ ActivityClassName() WI_NOEXCEPT : ActivityBase(#ActivityClassName, false) {} \
+ template \
+ WI_NODISCARD static ActivityClassName Start(TArgs&&... args) \
+ { return ActivityClassName(wil::details::tag_start(), wistd::forward(args)...); } \
+ template \
+ WI_NODISCARD static ActivityClassName StartWithCorrelationVector(_In_ PCSTR correlationVector, TArgs&&... args) \
+ { return ActivityClassName(wil::details::tag_start_cv(), correlationVector, wistd::forward(args)...); }
+
+#define __IMPLEMENT_CALLCONTEXT_CLASS(ActivityClassName) \
+ protected: \
+ ActivityClassName(_In_opt_ void **, PCSTR contextName, _In_opt_ _Printf_format_string_ PCSTR formatString, _In_opt_ va_list argList) : \
+ ActivityBase(contextName) \
+ { GetCallContext()->SetMessage(formatString, argList); StartActivity(); } \
+ ActivityClassName(_In_opt_ void **, PCSTR contextName) : \
+ ActivityBase(contextName) \
+ { StartActivity(); } \
+ public: \
+ ActivityClassName(PCSTR contextName) : ActivityBase(contextName, false) {} \
+ ActivityClassName(PCSTR contextName, _Printf_format_string_ PCSTR formatString, ...) WI_NOEXCEPT : ActivityClassName(contextName) \
+ { va_list argList; va_start(argList, formatString); GetCallContext()->SetMessage(formatString, argList); } \
+ WI_NODISCARD static ActivityClassName Start(PCSTR contextName) WI_NOEXCEPT \
+ { return ActivityClassName(static_cast(__nullptr), contextName); } \
+ WI_NODISCARD static ActivityClassName Start(PCSTR contextName, _Printf_format_string_ PCSTR formatString, ...) WI_NOEXCEPT \
+ { va_list argList; va_start(argList, formatString); return ActivityClassName(static_cast(__nullptr), contextName, formatString, argList); }
+
+#define __END_TRACELOGGING_ACTIVITY_CLASS() \
+ };
+
+#ifdef _GENERIC_PARTB_FIELDS_ENABLED
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT(EventId, ...) \
+ void EventId() \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, _GENERIC_PARTB_FIELDS_ENABLED, __VA_ARGS__); \
+ }
+#else
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT(EventId, ...) \
+ void EventId() \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, __VA_ARGS__); \
+ }
+#endif
+
+#ifdef _GENERIC_PARTB_FIELDS_ENABLED
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_CV(EventId, ...) \
+ void EventId(PCSTR correlationVector) \
+ { __WI_TraceLoggingWriteTagged(*this, #EventId, _GENERIC_PARTB_FIELDS_ENABLED, TraceLoggingString(correlationVector, "__TlgCV__"), __VA_ARGS__); }
+#else
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_CV(EventId, ...) \
+ void EventId(PCSTR correlationVector) \
+ { __WI_TraceLoggingWriteTagged(*this, #EventId, TraceLoggingString(correlationVector, "__TlgCV__"), __VA_ARGS__); }
+#endif
+
+#ifdef _GENERIC_PARTB_FIELDS_ENABLED
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_PARAM1(EventId, VarType1, varName1, ...) \
+ template void EventId(T1 &&varName1) \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, \
+ TraceLoggingValue(static_cast(wistd::forward(varName1)), _wiltlg_STRINGIZE(varName1)), \
+ _GENERIC_PARTB_FIELDS_ENABLED, \
+ __VA_ARGS__); \
+ }
+#else
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_PARAM1(EventId, VarType1, varName1, ...) \
+ template void EventId(T1 &&varName1) \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, \
+ TraceLoggingValue(static_cast(wistd::forward(varName1)), _wiltlg_STRINGIZE(varName1)), \
+ __VA_ARGS__); \
+ }
+#endif
+
+#ifdef _GENERIC_PARTB_FIELDS_ENABLED
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_PARAM1_CV(EventId, VarType1, varName1, ...) \
+ template void EventId(T1 &&varName1, PCSTR correlationVector) \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, \
+ TraceLoggingValue(static_cast(wistd::forward(varName1)), _wiltlg_STRINGIZE(varName1)), \
+ _GENERIC_PARTB_FIELDS_ENABLED, \
+ TraceLoggingString(correlationVector, "__TlgCV__"), __VA_ARGS__); \
+ }
+#else
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_PARAM1_CV(EventId, VarType1, varName1, ...) \
+ template void EventId(T1 &&varName1, PCSTR correlationVector) \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, \
+ TraceLoggingValue(static_cast(wistd::forward(varName1)), _wiltlg_STRINGIZE(varName1)), \
+ TraceLoggingString(correlationVector, "__TlgCV__"), __VA_ARGS__); \
+ }
+#endif
+
+#ifdef _GENERIC_PARTB_FIELDS_ENABLED
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_PARAM2(EventId, VarType1, varName1, VarType2, varName2, ...) \
+ template void EventId(T1 &&varName1, T2 &&varName2) \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, \
+ TraceLoggingValue(static_cast(wistd::forward(varName1)), _wiltlg_STRINGIZE(varName1)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName2)), _wiltlg_STRINGIZE(varName2)), \
+ _GENERIC_PARTB_FIELDS_ENABLED, \
+ __VA_ARGS__); \
+ }
+#else
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_PARAM2(EventId, VarType1, varName1, VarType2, varName2, ...) \
+ template void EventId(T1 &&varName1, T2 &&varName2) \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, \
+ TraceLoggingValue(static_cast(wistd::forward(varName1)), _wiltlg_STRINGIZE(varName1)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName2)), _wiltlg_STRINGIZE(varName2)), \
+ __VA_ARGS__); \
+ }
+#endif
+
+#ifdef _GENERIC_PARTB_FIELDS_ENABLED
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_PARAM2_CV(EventId, VarType1, varName1, VarType2, varName2, ...) \
+ template void EventId(T1 &&varName1, T2 &&varName2, PCSTR correlationVector) \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, \
+ TraceLoggingValue(static_cast(wistd::forward(varName1)), _wiltlg_STRINGIZE(varName1)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName2)), _wiltlg_STRINGIZE(varName2)), \
+ _GENERIC_PARTB_FIELDS_ENABLED, \
+ TraceLoggingString(correlationVector, "__TlgCV__"), __VA_ARGS__); \
+ }
+#else
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_PARAM2_CV(EventId, VarType1, varName1, VarType2, varName2, ...) \
+ template void EventId(T1 &&varName1, T2 &&varName2, PCSTR correlationVector) \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, \
+ TraceLoggingValue(static_cast(wistd::forward(varName1)), _wiltlg_STRINGIZE(varName1)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName2)), _wiltlg_STRINGIZE(varName2)), \
+ TraceLoggingString(correlationVector, "__TlgCV__"), __VA_ARGS__); \
+ }
+#endif
+
+#ifdef _GENERIC_PARTB_FIELDS_ENABLED
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_PARAM3(EventId, VarType1, varName1, VarType2, varName2, VarType3, varName3, ...) \
+ template void EventId(T1 &&varName1, T2 &&varName2, T3 &&varName3) \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, \
+ TraceLoggingValue(static_cast(wistd::forward(varName1)), _wiltlg_STRINGIZE(varName1)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName2)), _wiltlg_STRINGIZE(varName2)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName3)), _wiltlg_STRINGIZE(varName3)), \
+ _GENERIC_PARTB_FIELDS_ENABLED, \
+ __VA_ARGS__); \
+ }
+#else
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_PARAM3(EventId, VarType1, varName1, VarType2, varName2, VarType3, varName3, ...) \
+ template void EventId(T1 &&varName1, T2 &&varName2, T3 &&varName3) \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, \
+ TraceLoggingValue(static_cast(wistd::forward(varName1)), _wiltlg_STRINGIZE(varName1)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName2)), _wiltlg_STRINGIZE(varName2)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName3)), _wiltlg_STRINGIZE(varName3)), \
+ __VA_ARGS__); \
+ }
+#endif
+
+#ifdef _GENERIC_PARTB_FIELDS_ENABLED
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_PARAM3_CV(EventId, VarType1, varName1, VarType2, varName2, VarType3, varName3, ...) \
+ template void EventId(T1 &&varName1, T2 &&varName2, T3 &&varName3, PCSTR correlationVector) \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, \
+ TraceLoggingValue(static_cast(wistd::forward(varName1)), _wiltlg_STRINGIZE(varName1)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName2)), _wiltlg_STRINGIZE(varName2)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName3)), _wiltlg_STRINGIZE(varName3)), \
+ _GENERIC_PARTB_FIELDS_ENABLED, \
+ TraceLoggingString(correlationVector, "__TlgCV__"), __VA_ARGS__); \
+ }
+#else
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_PARAM3_CV(EventId, VarType1, varName1, VarType2, varName2, VarType3, varName3, ...) \
+ template void EventId(T1 &&varName1, T2 &&varName2, T3 &&varName3, PCSTR correlationVector) \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, \
+ TraceLoggingValue(static_cast(wistd::forward(varName1)), _wiltlg_STRINGIZE(varName1)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName2)), _wiltlg_STRINGIZE(varName2)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName3)), _wiltlg_STRINGIZE(varName3)), \
+ TraceLoggingString(correlationVector, "__TlgCV__"), __VA_ARGS__); \
+ }
+#endif
+
+#ifdef _GENERIC_PARTB_FIELDS_ENABLED
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_PARAM4(EventId, VarType1, varName1, VarType2, varName2, VarType3, varName3, VarType4, varName4, ...) \
+ template void EventId(T1 &&varName1, T2 &&varName2, T3 &&varName3, T4 &&varName4) \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, \
+ TraceLoggingValue(static_cast(wistd::forward(varName1)), _wiltlg_STRINGIZE(varName1)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName2)), _wiltlg_STRINGIZE(varName2)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName3)), _wiltlg_STRINGIZE(varName3)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName4)), _wiltlg_STRINGIZE(varName4)), \
+ _GENERIC_PARTB_FIELDS_ENABLED, \
+ __VA_ARGS__); \
+ }
+#else
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_PARAM4(EventId, VarType1, varName1, VarType2, varName2, VarType3, varName3, VarType4, varName4, ...) \
+ template void EventId(T1 &&varName1, T2 &&varName2, T3 &&varName3, T4 &&varName4) \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, \
+ TraceLoggingValue(static_cast(wistd::forward(varName1)), _wiltlg_STRINGIZE(varName1)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName2)), _wiltlg_STRINGIZE(varName2)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName3)), _wiltlg_STRINGIZE(varName3)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName4)), _wiltlg_STRINGIZE(varName4)), \
+ __VA_ARGS__); \
+ }
+#endif
+
+#ifdef _GENERIC_PARTB_FIELDS_ENABLED
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_PARAM4_CV(EventId, VarType1, varName1, VarType2, varName2, VarType3, varName3, VarType4, varName4, ...) \
+ template void EventId(T1 &&varName1, T2 &&varName2, T3 &&varName3, T4 &&varName4, PCSTR correlationVector) \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, \
+ TraceLoggingValue(static_cast(wistd::forward(varName1)), _wiltlg_STRINGIZE(varName1)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName2)), _wiltlg_STRINGIZE(varName2)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName3)), _wiltlg_STRINGIZE(varName3)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName4)), _wiltlg_STRINGIZE(varName4)), \
+ _GENERIC_PARTB_FIELDS_ENABLED, \
+ TraceLoggingString(correlationVector, "__TlgCV__"), __VA_ARGS__); \
+ }
+#else
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_PARAM4_CV(EventId, VarType1, varName1, VarType2, varName2, VarType3, varName3, VarType4, varName4, ...) \
+ template void EventId(T1 &&varName1, T2 &&varName2, T3 &&varName3, T4 &&varName4, PCSTR correlationVector) \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, \
+ TraceLoggingValue(static_cast(wistd::forward(varName1)), _wiltlg_STRINGIZE(varName1)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName2)), _wiltlg_STRINGIZE(varName2)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName3)), _wiltlg_STRINGIZE(varName3)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName4)), _wiltlg_STRINGIZE(varName4)), \
+ TraceLoggingString(correlationVector, "__TlgCV__"), __VA_ARGS__); \
+ }
+#endif
+
+#ifdef _GENERIC_PARTB_FIELDS_ENABLED
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_PARAM5(EventId, VarType1, varName1, VarType2, varName2, VarType3, varName3, VarType4, varName4, VarType5, varName5, ...) \
+ template void EventId(T1 &&varName1, T2 &&varName2, T3 &&varName3, T4 &&varName4, T5 &&varName5) \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, \
+ TraceLoggingValue(static_cast(wistd::forward(varName1)), _wiltlg_STRINGIZE(varName1)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName2)), _wiltlg_STRINGIZE(varName2)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName3)), _wiltlg_STRINGIZE(varName3)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName4)), _wiltlg_STRINGIZE(varName4)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName5)), _wiltlg_STRINGIZE(varName5)), \
+ _GENERIC_PARTB_FIELDS_ENABLED, \
+ __VA_ARGS__); \
+ }
+#else
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_PARAM5(EventId, VarType1, varName1, VarType2, varName2, VarType3, varName3, VarType4, varName4, VarType5, varName5, ...) \
+ template void EventId(T1 &&varName1, T2 &&varName2, T3 &&varName3, T4 &&varName4, T5 &&varName5) \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, \
+ TraceLoggingValue(static_cast(wistd::forward(varName1)), _wiltlg_STRINGIZE(varName1)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName2)), _wiltlg_STRINGIZE(varName2)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName3)), _wiltlg_STRINGIZE(varName3)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName4)), _wiltlg_STRINGIZE(varName4)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName5)), _wiltlg_STRINGIZE(varName5)), \
+ __VA_ARGS__); \
+ }
+#endif
+
+#ifdef _GENERIC_PARTB_FIELDS_ENABLED
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_PARAM5_CV(EventId, VarType1, varName1, VarType2, varName2, VarType3, varName3, VarType4, varName4, VarType5, varName5, ...) \
+ template void EventId(T1 &&varName1, T2 &&varName2, T3 &&varName3, T4 &&varName4, T5 &&varName5, PCSTR correlationVector) \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, \
+ TraceLoggingValue(static_cast(wistd::forward(varName1)), _wiltlg_STRINGIZE(varName1)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName2)), _wiltlg_STRINGIZE(varName2)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName3)), _wiltlg_STRINGIZE(varName3)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName4)), _wiltlg_STRINGIZE(varName4)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName5)), _wiltlg_STRINGIZE(varName5)), \
+ _GENERIC_PARTB_FIELDS_ENABLED, \
+ TraceLoggingString(correlationVector, "__TlgCV__"), __VA_ARGS__); \
+ }
+#else
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_PARAM5_CV(EventId, VarType1, varName1, VarType2, varName2, VarType3, varName3, VarType4, varName4, VarType5, varName5, ...) \
+ template void EventId(T1 &&varName1, T2 &&varName2, T3 &&varName3, T4 &&varName4, T5 &&varName5, PCSTR correlationVector) \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, \
+ TraceLoggingValue(static_cast(wistd::forward(varName1)), _wiltlg_STRINGIZE(varName1)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName2)), _wiltlg_STRINGIZE(varName2)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName3)), _wiltlg_STRINGIZE(varName3)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName4)), _wiltlg_STRINGIZE(varName4)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName5)), _wiltlg_STRINGIZE(varName5)), \
+ TraceLoggingString(correlationVector, "__TlgCV__"), __VA_ARGS__); \
+ }
+#endif
+
+#ifdef _GENERIC_PARTB_FIELDS_ENABLED
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_PARAM6(EventId, VarType1, varName1, VarType2, varName2, VarType3, varName3, VarType4, varName4, VarType5, varName5, VarType6, varName6, ...) \
+ template void EventId(T1 &&varName1, T2 &&varName2, T3 &&varName3, T4 &&varName4, T5 &&varName5, T6 &&varName6) \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, \
+ TraceLoggingValue(static_cast(wistd::forward(varName1)), _wiltlg_STRINGIZE(varName1)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName2)), _wiltlg_STRINGIZE(varName2)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName3)), _wiltlg_STRINGIZE(varName3)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName4)), _wiltlg_STRINGIZE(varName4)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName5)), _wiltlg_STRINGIZE(varName5)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName6)), _wiltlg_STRINGIZE(varName6)), \
+ _GENERIC_PARTB_FIELDS_ENABLED, \
+ __VA_ARGS__); \
+ }
+#else
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_PARAM6(EventId, VarType1, varName1, VarType2, varName2, VarType3, varName3, VarType4, varName4, VarType5, varName5, VarType6, varName6, ...) \
+ template void EventId(T1 &&varName1, T2 &&varName2, T3 &&varName3, T4 &&varName4, T5 &&varName5, T6 &&varName6) \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, \
+ TraceLoggingValue(static_cast(wistd::forward(varName1)), _wiltlg_STRINGIZE(varName1)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName2)), _wiltlg_STRINGIZE(varName2)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName3)), _wiltlg_STRINGIZE(varName3)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName4)), _wiltlg_STRINGIZE(varName4)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName5)), _wiltlg_STRINGIZE(varName5)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName6)), _wiltlg_STRINGIZE(varName6)), \
+ __VA_ARGS__); \
+ }
+#endif
+
+#ifdef _GENERIC_PARTB_FIELDS_ENABLED
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_PARAM6_CV(EventId, VarType1, varName1, VarType2, varName2, VarType3, varName3, VarType4, varName4, VarType5, varName5, VarType6, varName6, ...) \
+ template void EventId(T1 &&varName1, T2 &&varName2, T3 &&varName3, T4 &&varName4, T5 &&varName5, T6 &&varName6, PCSTR correlationVector) \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, \
+ TraceLoggingValue(static_cast(wistd::forward(varName1)), _wiltlg_STRINGIZE(varName1)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName2)), _wiltlg_STRINGIZE(varName2)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName3)), _wiltlg_STRINGIZE(varName3)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName4)), _wiltlg_STRINGIZE(varName4)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName5)), _wiltlg_STRINGIZE(varName5)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName6)), _wiltlg_STRINGIZE(varName6)), \
+ _GENERIC_PARTB_FIELDS_ENABLED, \
+ TraceLoggingString(correlationVector, "__TlgCV__"), __VA_ARGS__); \
+ }
+#else
+ #define DEFINE_TAGGED_TRACELOGGING_EVENT_PARAM6_CV(EventId, VarType1, varName1, VarType2, varName2, VarType3, varName3, VarType4, varName4, VarType5, varName5, VarType6, varName6, ...) \
+ template void EventId(T1 &&varName1, T2 &&varName2, T3 &&varName3, T4 &&varName4, T5 &&varName5, T6 &&varName6, PCSTR correlationVector) \
+ { \
+ __WI_TraceLoggingWriteTagged(*this, #EventId, \
+ TraceLoggingValue(static_cast(wistd::forward(varName1)), _wiltlg_STRINGIZE(varName1)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName2)), _wiltlg_STRINGIZE(varName2)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName3)), _wiltlg_STRINGIZE(varName3)), \
+ TraceLoggingValue(static_cast(wistd::forward(varName4)), _wiltlg_STRINGIZE(varName4)), \
+ TraceLoggingValue(static_cast