1 // Copyright © 2015-2017 winapi-rs developers
2 // Licensed under the Apache License, Version 2.0
3 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
4 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
5 // All files in the project carrying such notice may not be copied, modified, or distributed
6 // except according to those terms
7 //! Common Language Runtime Debugging Symbol Reader/Writer/Binder Interfaces
8 use shared
::basetsd
::ULONG32
;
9 use um
::objidlbase
::IStream
;
10 use um
::unknwnbase
::{IUnknown, IUnknownVtbl}
;
11 use um
::winnt
::{HRESULT, WCHAR}
;
12 DEFINE_GUID
!{CorSym_LanguageType_C
,
13 0x63a08714, 0xfc37, 0x11d2, 0x90, 0x4c, 0x0, 0xc0, 0x4f, 0xa3, 0x02, 0xa1}
14 DEFINE_GUID
!{CorSym_LanguageType_CPlusPlus
,
15 0x3a12d0b7, 0xc26c, 0x11d0, 0xb4, 0x42, 0x0, 0xa0, 0x24, 0x4a, 0x1d, 0xd2}
16 DEFINE_GUID
!{CorSym_LanguageType_CSharp
,
17 0x3f5162f8, 0x07c6, 0x11d3, 0x90, 0x53, 0x0, 0xc0, 0x4f, 0xa3, 0x02, 0xa1}
18 DEFINE_GUID
!{CorSym_LanguageType_Basic
,
19 0x3a12d0b8, 0xc26c, 0x11d0, 0xb4, 0x42, 0x0, 0xa0, 0x24, 0x4a, 0x1d, 0xd2}
20 DEFINE_GUID
!{CorSym_LanguageType_Java
,
21 0x3a12d0b4, 0xc26c, 0x11d0, 0xb4, 0x42, 0x0, 0xa0, 0x24, 0x4a, 0x1d, 0xd2}
22 DEFINE_GUID
!{CorSym_LanguageType_Cobol
,
23 0xaf046cd1, 0xd0e1, 0x11d2, 0x97, 0x7c, 0x0, 0xa0, 0xc9, 0xb4, 0xd5, 0xc}
24 DEFINE_GUID
!{CorSym_LanguageType_Pascal
,
25 0xaf046cd2, 0xd0e1, 0x11d2, 0x97, 0x7c, 0x0, 0xa0, 0xc9, 0xb4, 0xd5, 0xc}
26 DEFINE_GUID
!{CorSym_LanguageType_ILAssembly
,
27 0xaf046cd3, 0xd0e1, 0x11d2, 0x97, 0x7c, 0x0, 0xa0, 0xc9, 0xb4, 0xd5, 0xc}
28 DEFINE_GUID
!{CorSym_LanguageType_JScript
,
29 0x3a12d0b6, 0xc26c, 0x11d0, 0xb4, 0x42, 0x00, 0xa0, 0x24, 0x4a, 0x1d, 0xd2}
30 DEFINE_GUID
!{CorSym_LanguageType_SMC
,
31 0xd9b9f7b, 0x6611, 0x11d3, 0xbd, 0x2a, 0x0, 0x0, 0xf8, 0x8, 0x49, 0xbd}
32 DEFINE_GUID
!{CorSym_LanguageType_MCPlusPlus
,
33 0x4b35fde8, 0x07c6, 0x11d3, 0x90, 0x53, 0x0, 0xc0, 0x4f, 0xa3, 0x02, 0xa1}
34 DEFINE_GUID
!{CorSym_LanguageVendor_Microsoft
,
35 0x994b45c4, 0xe6e9, 0x11d2, 0x90, 0x3f, 0x00, 0xc0, 0x4f, 0xa3, 0x02, 0xa1}
36 DEFINE_GUID
!{CorSym_DocumentType_Text
,
37 0x5a869d0b, 0x6611, 0x11d3, 0xbd, 0x2a, 0x0, 0x0, 0xf8, 0x8, 0x49, 0xbd}
38 DEFINE_GUID
!{CorSym_DocumentType_MC
,
39 0xeb40cb65, 0x3c1f, 0x4352, 0x9d, 0x7b, 0xba, 0xf, 0xc4, 0x7a, 0x9d, 0x77}
40 DEFINE_GUID
!{CorSym_SourceHash_MD5
,
41 0x406ea660, 0x64cf, 0x4c82, 0xb6, 0xf0, 0x42, 0xd4, 0x81, 0x72, 0xa7, 0x99}
42 DEFINE_GUID
!{CorSym_SourceHash_SHA1
,
43 0xff1816ec, 0xaa5e, 0x4d10, 0x87, 0xf7, 0x6f, 0x49, 0x63, 0x83, 0x34, 0x60}
44 ENUM
!{enum CorSymAddrKind
{
47 ADDR_NATIVE_REGISTER
= 3,
48 ADDR_NATIVE_REGREL
= 4,
49 ADDR_NATIVE_OFFSET
= 5,
50 ADDR_NATIVE_REGREG
= 6,
51 ADDR_NATIVE_REGSTK
= 7,
52 ADDR_NATIVE_STKREG
= 8,
54 ADDR_NATIVE_ISECTOFFSET
= 10,
56 ENUM
!{enum CorSymVarFlag
{
59 RIDL
!(#[uuid(0xaa544d42, 0x28cb, 0x11d3, 0xbd, 0x22, 0x00, 0x00, 0xf8, 0x08, 0x49, 0xbd)]
60 interface
ISymUnmanagedBinder(ISymUnmanagedBinderVtbl
): IUnknown(IUnknownVtbl
) {
62 importer
: *mut IUnknown
,
63 fileName
: *const WCHAR
,
64 searchPath
: *const WCHAR
,
65 pRetVal
: *mut *mut ISymUnmanagedReader
,
67 fn GetReaderFromStream(
68 importer
: *mut IUnknown
,
69 pstream
: *mut IStream
,
70 pRetVal
: *mut *mut ISymUnmanagedReader
,
74 ENUM
!{enum CorSymSearchPolicyAttributes
{
75 AllowRegistryAccess
= 0x1,
76 AllowSymbolServerAccess
= 0x2,
77 AllowOriginalPathAccess
= 0x4,
78 AllowReferencePathAccess
= 0x8,
80 RIDL
!(#[uuid(0xaccee350, 0x89af, 0x4ccb, 0x8b, 0x40, 0x1c, 0x2c, 0x4c, 0x6f, 0x94, 0x34)]
81 interface
ISymUnmanagedBinder2(ISymUnmanagedBinder2Vtbl
):
82 ISymUnmanagedBinder(ISymUnmanagedBinderVtbl
) {
84 importer
: *mut IUnknown
,
85 fileName
: *const WCHAR
,
86 searchPath
: *const WCHAR
,
87 searchPolicy
: ULONG32
,
88 pRetVal
: *mut *mut ISymUnmanagedReader
,
92 pub enum ISymUnmanagedReader {}
// TODO