-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mismatch between methods' parameters' types and the declarations in Windows' headers #1
Labels
metadata-api
Any issue relating to using the metadata API to parse winmd
Comments
The remaining warnings at line 7xxx are not affected by the winmd code. The warnings at 12xxx are about correctly const typing the IIDs and the lack of
Line 7578 if (SymFromAddr(handle, (*(frame_addr)), &offset, si) == 1) { Line 7578 and 7581 with context for (int i = 0; i < frames; ++i) {
voidptr *frame_addr = HEAP(voidptr, (backtraces[v_fixed_index(i, 100)]));
if (SymFromAddr(handle, (*(frame_addr)), &offset, si) == 1) { //7578
int nframe = frames - i - 1;
string lineinfo = _SLIT("");
if (SymGetLineFromAddr64(handle, (*(frame_addr)), &offset, &sline64) == 1) { // 7581
string file_name = tos3(sline64.f_file_name);
u32 lnumber = sline64.f_line_number;
lineinfo = str_intp(3, _MOV((StrIntpData[]){{_SLIT0, /*115 &string*/0xfe10, {.d_s = file_name}}, {_SLIT(":"), /*117 &u32*/0xfe06, {.d_u32 = lnumber}}, {_SLIT0, 0, { .d_c = 0 }}}));
} else {
lineinfo = str_intp(2, _MOV((StrIntpData[]){{_SLIT("?? : address = 0x"), /*120 &voidptr*/0x7000fe11, {.d_p = (void*)((&(*(frame_addr))))}}, {_SLIT0, 0, { .d_c = 0 }}}));
} line 7681 voidptr res = FormatMessage(((FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM) | FORMAT_MESSAGE_IGNORE_INSERTS), NULL, err_msg_id, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), &msgbuf, 0, NULL); Line 7681 with context string winapi_lasterr_str(void) {
u32 err_msg_id = GetLastError();
if (err_msg_id == 8U) {
return _SLIT("insufficient memory");
}
u16* msgbuf = ((u16*)(0));
voidptr res = FormatMessage(((FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM) | FORMAT_MESSAGE_IGNORE_INSERTS), NULL, err_msg_id, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), &msgbuf, 0, NULL);
string err_msg = (res == 0 ? ( str_intp(2, _MOV((StrIntpData[]){{_SLIT("Win-API error "), /*117 &u32*/0xfe06, {.d_u32 = err_msg_id}}, {_SLIT0, 0, { .d_c = 0 }}}))) : (string_from_wide(msgbuf)));
return err_msg;
} |
revosw
added
the
metadata-api
Any issue relating to using the metadata API to parse winmd
label
Mar 31, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
A whole load of errors related to incompatibility between types have to be sorted.
In essence, this means you can't for example pass a
string
directly inFindAssembly
'sszAppBase
parameter in the Windows API. You have to convert it to a c string withszAppBase.str
The text was updated successfully, but these errors were encountered: