I think that's a case where we could diverge from the PSDK (with a comment explaining why). Otherwise the header is completely useless: we could not even make sure its prototypes match those of our implementation.
Thanks Francois, I was hoping you'd check in.
Btw, did you check this against the very latest PSDK?
Well, I checked against a PSDK I installed a month ago. If there's a newer one, I haven't checked it.
Could you provide the name of one of these functions?
They're function pointers, actually. All the function pointer members of CRYPT_PROVIDER_FUNCTIONS in wintrust.h are declared without a calling convention. They need to be declared __stdcall. Is the default calling convention for VC++ __stdcall? If so, that'd explain the difference.
Thanks, --Juan