예제 #1
0
        public static DbgUdtTypeInfo GetUdtTypeInfo(DbgEngDebugger debugger,
                                                    DbgModuleInfo module,
                                                    uint typeId)
        {
            if (null == debugger)
            {
                throw new ArgumentNullException("debugger");
            }

            if (null == module)
            {
                throw new ArgumentNullException("module");
            }

            RawUdtInfo rui = DbgHelp.GetUdtInfo(debugger.DebuggerInterface, module.BaseAddress, typeId);

            return(new DbgUdtTypeInfo(debugger,
                                      module,
                                      typeId,
                                      rui.UdtKind,
                                      rui.SymName,
                                      rui.Size,
                                      rui.ChildrenCount,
                                      rui.ClassParentId,
                                      rui.VirtualTableShapeId));
        } // end GetUdtTypeInfo()