Error: Didn\'t find {"length":"ulong","IfInde":"ulong"} in TypeMap
scruel opened this issue · comments
Following code got this error:
var IP_ADAPTER_ADDRESSES = {
union: {
alignment: 'ulong',
'struct': {
length: 'ulong',
IfInde: 'ulong',
},
},
next: 'pointer',
adapterName: 'pointer',
...
}
...
var test = new Struct(IP_ADAPTER_ADDRESSES, args[3])
...
Solved this issue by flowing code(no time for creating PR), but still, I could get any info by parsing the pointer object.
var base_ptr_size = 0;
for (var member in structInfo) {
if (member == "union") {
var union = structInfo[member];
for (var union_member in union) {
var union_member_type = union[union_member];
if (union_member == "struct") {
var struct = structInfo[union_member];
for (var struct_member in struct) {
var struct_member_type = struct[struct_member];
CreateGetterSetter(this, struct_member, struct_member_type, base_ptr_size);
base_ptr_size += SizeOfType(struct_member_type);
}
} else {
CreateGetterSetter(this, union_member, union_member_type, base_ptr_size);
base_ptr_size += SizeOfType(union_member_type);
}
}
} else {
CreateGetterSetter(this, member, structInfo[member], base_ptr_size);
base_ptr_size += SizeOfType(structInfo[member]);
}
}
IP_ADAPTER_ADDRESSES is too difficult to parse via this function...