Incorrect imports in shlobj.pp: REFIID parameters
Original Reporter info from Mantis: Martok @martok
-
Reporter name:
Original Reporter info from Mantis: Martok @martok
- Reporter name:
Description:
File: source\packages\winunits-base\src\shlobj.pp
REFIID parameters in shell32.dll imports should be constrefs; current imports generate pass-by-value.
Confirmed for SHBindToParent (line 2788), which should look like:
function SHBindToParent(pidl:LPCITEMIDLIST; constref riid:TREFIID; ppv:Ppointer; var ppidlLast:LPCITEMIDLIST):HRESULT;StdCall;external External_library name 'SHBindToParent';
Or even better, using a var parameter for the interface:
function SHBindToParent(pidl:LPCITEMIDLIST; constref riid:TREFIID; var ppv:Pointer; var ppidlLast:LPCITEMIDLIST):HRESULT;StdCall;external External_library name 'SHBindToParent';
Possibly also true for SHCreateFileExtractIcon (l. 2803ff), but have not tested that.
Mantis conversion info:
- Mantis ID: 28760
- Build: r31810
- Platform: Win32
- Version: 3.1.1
- Fixed in version: 3.1.1
- Fixed in revision: 36770 (#4e494607)
- Target version: 3.2.0