"Type" is PV not V

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@7133 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
anders_k 2019-11-19 16:58:32 +00:00
parent 932ad7d85b
commit 2c4d91c9fe

View file

@ -162,18 +162,18 @@ System::Call 'OLEAUT32::#12(p${pDstV},p${pSrcV},i${Flags},i${VT})i.${sysretHR}'
!macro PropVariantClear pPV
System::Call 'OLE32::PropVariantClear(p${pV})' ; WinNT4.SP0+, Win98+, IE4+
System::Call 'OLE32::PropVariantClear(p${pPV})' ; WinNT4.SP0+, Win98+, IE4+
!macroend
!macro PropVariantCopy pDstV pSrcV sysretHR
System::Call 'OLE32::PropVariantCopy(p${pDstV},p${pSrcV})i.${sysretHR}' ; WinNT4.SP0+, Win98+, IE4+ (Does NOT free the destination before it copies the source)
!macro PropVariantCopy pDstPV pSrcPV sysretHR
System::Call 'OLE32::PropVariantCopy(p${pDstPV},p${pSrcPV})i.${sysretHR}' ; WinNT4.SP0+, Win98+, IE4+ (Does NOT free the destination before it copies the source)
!macroend
!macro PropVariantChangeType pDstV pSrcV VT sysretHR
!macro PropVariantChangeType pDstPV pSrcPV VT sysretHR
!ifdef NSIS_ARM | NSIS_ARM32 | NSIS_ARMNT | NSIS_ARM64
System::Call 'PROPSYS::PropVariantChangeType(p${pDstV},p${pSrcV},i0,i${VT})i.${sysretHR}'
System::Call 'PROPSYS::PropVariantChangeType(p${pDstPV},p${pSrcPV},i0,i${VT})i.${sysretHR}'
!else
Push "${VT}"
Push ${pSrcV}
Push ${pDstV}
Push ${pSrcPV}
Push ${pDstPV}
!include Util.nsh
${CallArtificialFunction} TryPropVariantChangeType
System::Call 'KERNEL32::SetLastError(is${sysretHR})' ; A hack to move the result from the stack to somewhere with System variable syntax