I have extended the "heap_stat" script, based on the PYKD.PYD library, in order to view the elements of collections, as you can see in the following examples:
if type_name.endswith("CSortableDoubleArray"):
collection_Size = typedVar('CSortableDoubleArray', ptr).m_nSize
...
elif type_name.endswith("CPtrList"):
collection_Size = typedVar('CPtrList', ptr).m_nCount
...
As you see, I need the name of the property (m_nSize, m_nCount, ...) in order to determine the amount of entries.
Now I'm dealing with a dump, containing some shell32!CListViewHost entries, as you can see here in heap_stat result:
0x75b032a4 shell32!CListViewHost
0x75b032c0 shell32!CListViewHost
0x75b032dc shell32!CListViewHost
I've been looking on the internet, but I don't find any documentation on that class.
Does anybody know the name of the property I can use for determining the amount of entries in such a list?
For your information: I can't see this in Visual Studio: I'm currently investigating a dump from a C# application. Even when debugging that dump natively, the entries (CListViewHost)0x75b032a4 and (shell32!CListViewHost)0x75b032a4 give nothing in the watch window.
Thanks in advance
Edit: (result of x /2 *!*vftable'command) While running thex /2 !vftable' command, the CListViewHost class also appears, so I'm expecting it to be something generally known, but I don't understand why I don't find any information on it on the internet. Hereby a part of the result of the x /2 *!*vftable'command: (there are moreCListViewHost` related entries, I'm just showing a bunch of them)
6e893d10 WinTypes!`winrt::impl::make_marshaler'::`2'::marshaler::`vftable'
6e87366c WinTypes!Microsoft::WRL::FtmBase::`vftable'
6e8950b4 WinTypes!Windows::Foundation::Value<Windows::Foundation::ValueArray<int> >::`vftable'
6e8950a4 WinTypes!Windows::Foundation::Value<Windows::Foundation::ValueArray<int> >::`vftable'
...
7579e6b8 shell32!CFolderItemVerbs::`vftable'
75798784 shell32!CListViewHost::`vftable'
75782d9c shell32!DirectUI::ClassInfo<CInfoPane,CFrameModule,DirectUI::StandardCreator<CInfoPane> >::`vftable'
...
7578ea74 shell32!Microsoft::WRL::RuntimeClass<Microsoft::WRL::RuntimeClassFlags<2>,Microsoft::WRL::Implements<Microsoft::WRL::RuntimeClassFlags<2>,IDesktopGadget> >::`vftable'
757988c8 shell32!CListViewHost::`vftable'
75788dc4 shell32!CBitBucketDropTarget::`vftable'
...
7579e75c shell32!CEnumFolderItemVerbs::`vftable'
757989c8 shell32!CListViewHost::`vftable'
75783774 shell32!CWordWheel::`vftable'
...
757883dc shell32!CWrapOldCallback::`vftable'
75798a5c shell32!CListViewHost::CJustInTimeItemSink::`vftable'
75796798 shell32!CImmersiveContextMenuOwnerDrawHelper::`vftable'
...
7579cbdc shell32!Microsoft::WRL::RuntimeClass<Microsoft::WRL::RuntimeClassFlags<2>,CWRLObjectWithSite,Microsoft::WRL::ChainInterfaces<IContextMenu3,IContextMenu2,IContextMenu,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil>,IShellExtInit,IFileOperationProgressSink>::`vftable'
75798910 shell32!CListViewHost::`vftable'
757831b0 shell32!CXElementModuleInner::`vftable'
...