microsoft / microsoft/win32metadata
EncodeRemotePointer/DecodeRemotePointer incorrectly point to api-ms-win-core-util-l1-1-1.dll
- Dominant language
- C++
- Stars
- 1.5k
- Forks
- 149
- Avg merge
- 5d 16h
- Merged PRs (30d)
- 4
Description
Looks like an SDK bug.
See https://github.com/microsoft/windows-rs/issues/4310 for additional details, but the gist of it is:
```
dumpbin /imports app.exe
...
api-ms-win-core-util-l1-1-1.dll
14001D170 Import Address Table
140026F68 Import Name Table
0 time date stamp
0 Index of first forwarder reference
0 EncodeRemotePointer
```
```
apisetmap | findstr /i api-ms-win-core-util-l1-1-1
api-ms-win-core-util-l1-1-1.dll -> s{kernel32.dll, kernelbase.dll [kernel32.dll]}
```
```
dumpbin /exports C:\windows\system32\kernel32.dll | findstr /i Encode
341 154 EncodePointer (forwarded to NTDLL.RtlEncodePointer)
342 155 EncodeSystemPointer (forwarded to NTDLL.RtlEncodeSystemPointer)
```
Contributor guide
Research direction
Start with the EncodeRemotePointer and DecodeRemotePointer metadata and compare it with the dumpbin and apisetmap output included in the report. Trace where their DLL targets are assigned in the Win32 metadata generation tooling; done means the generated references no longer point to api-ms-win-core-util-l1-1-1.dll incorrectly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100