Hi,

I'm converting some DF 19.0 code to DF 20.0, and have run into a weird issue with this code:

Code:
External_Function WinAPI_CryptAcquireContext "CryptAcquireContextA" advapi32.dll ;
    Pointer phProv ;
    Pointer pContainer ;
    Pointer pProvider ;
    DWord   dwProvType ;
    DWord   dwFlags ;
    Returns Boolean

Handle hProvider
Boolean bOk

Move 0 to hProvider
Move (WinAPI_CryptAcquireContext(AddressOf(hProvider), 0, 0, 1, $F0000000 ior $00000020)) to bOk
// 19.0: 111913912 (06ABABB8)
// 20.0:    431114 (0006940A)
This code runs fine in DF 19.0, but does not work in 20.0 (32-bit, build 144).

In 19.0, hProvider is set to 0x06ABABB8 (roughly, changes each call).
In 20.0, hProvider is set to 0x0006940A

It looks to me like it's off by 1 byte, as if AddressOf(hProvider) gives the wrong address.

I've checked, double checked and triple checked the types, but they look correct to me.