When running on x86, the provider callback doesn't function correctly because two of the arguments are ULONGLONG's (64-bit), which does not align with the uintptr on x86 (32-bit).
This change splits the function into two platform-specific versions to avoid the issue.
When running on x86, the provider callback doesn't function correctly because two of the arguments are ULONGLONG's (64-bit), which does not align with the uintptr on x86 (32-bit).
This change splits the function into two platform-specific versions to avoid the issue.