1. Home
  2. Foxit Quick PDF Library
  3. Is a 64-bit HDC supported by RenderPageToDCClip?

Is a 64-bit HDC supported by RenderPageToDCClip?

(The answer is no, not in the current Delphi source code version, but read below because the more accurate answer is “no, but that’s okay because Microsoft guarantees that only the bottom 32-bit range of handles is used in Windows”.)

The current build system for the Delphi-based version of Foxit Quick PDF Library cannot handle 64-bit handles so we always use 32-bit handles. In the C++ based version of Foxit Quick PDF Library 32-bit and 64-bit handle types are supported. Contact us if you would like to try our internal build of the C++ PDF library.

It is true that the HANDLE type is defined to be a PVOID, so technically they are 32-bit or 64-bit depending on the system. However, it is not a problem to use 32-bits as HANDLE types on Windows because Microsoft ensure that they are always guaranteed to fit into 32-bits. The upper 32-bits can be safely truncated.

So when sending an HDC value to Foxit Quick PDF Library, simply truncate the upper bits and pass only the lower 32-bits.

When receiving a HDC value from Foxit Quick PDF Library you can keep the upper bits as 0 or sign extend the value.

Here’s more information from Microsoft on this topic:

https://msdn.microsoft.com/en-us/library/aa384203.aspx

Updated on April 9, 2017

Was this article helpful?

Related Articles

Ready to try Foxit PDF SDK?
Click the link below to download your trial
Free Trial