diff options
author | Therzok <teromario@yahoo.com> | 2013-10-02 19:14:15 +0400 |
---|---|---|
committer | Therzok <teromario@yahoo.com> | 2013-11-28 00:09:36 +0400 |
commit | 60f853f2c5a6595136fae3edf5ff1fa09a6b37ce (patch) | |
tree | 70aac44dc9b289949ae60c6b815eacbbdece766a /CorApi | |
parent | a64c5f72b87f5a193b7263d2e589faf6115d0ff1 (diff) |
[Cordebug] Fix issues with interface listing. Also cache GetType queries.
Diffstat (limited to 'CorApi')
-rw-r--r-- | CorApi/IMetadataImport.cs | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/CorApi/IMetadataImport.cs b/CorApi/IMetadataImport.cs index 2e41ce7..8673fa3 100644 --- a/CorApi/IMetadataImport.cs +++ b/CorApi/IMetadataImport.cs @@ -42,10 +42,15 @@ namespace Microsoft.Samples.Debugging.CorMetadata.NativeApi [ComAliasName("mdTypeDef*")] out int rTypeDefs,
uint cMax /*must be 1*/,
[ComAliasName("ULONG*")] out uint pcTypeDefs);
-#if !MDBG_FAKE_COM
+
//STDMETHOD(EnumInterfaceImpls)(HCORENUM *phEnum, mdTypeDef td, mdInterfaceImpl rImpls[], ULONG cMax, ULONG* pcImpls) PURE;
- void EnumInterfaceImpls_(IntPtr phEnum, int td);
-
+ void EnumInterfaceImpls(
+ ref IntPtr phEnum,
+ int td,
+ [ComAliasName("mdInterfaceImpl*")] out int rImpls,
+ uint cMax /*must be 1*/,
+ [ComAliasName("ULONG*")] out uint pcImpls);
+#if !MDBG_FAKE_COM
//STDMETHOD(EnumTypeRefs)(HCORENUM *phEnum, mdTypeRef rTypeRefs[], ULONG cMax, ULONG* pcTypeRefs) PURE;
void EnumTypeRefs_();
#endif
@@ -640,10 +645,16 @@ namespace Microsoft.Samples.Debugging.CorMetadata.NativeApi [ComAliasName("mdTypeDef*")] out int rTypeDefs,
uint cMax /*must be 1*/,
[ComAliasName("ULONG*")] out uint pcTypeDefs);
-#if !MDBG_FAKE_COM
+
//STDMETHOD(EnumInterfaceImpls)(HCORENUM *phEnum, mdTypeDef td, mdInterfaceImpl rImpls[], ULONG cMax, ULONG* pcImpls) PURE;
- new void EnumInterfaceImpls_(IntPtr phEnum, int td);
+ new void EnumInterfaceImpls(
+ ref IntPtr phEnum,
+ int td,
+ [ComAliasName("mdInterfaceImpl*")] out int rImpls,
+ uint cMax /*must be 1*/,
+ [ComAliasName("ULONG*")] out uint pcImpls);
+#if !MDBG_FAKE_COM
//STDMETHOD(EnumTypeRefs)(HCORENUM *phEnum, mdTypeRef rTypeRefs[], ULONG cMax, ULONG* pcTypeRefs) PURE;
new void EnumTypeRefs_();
#endif
|