IBM C and C++ Compilers provides both a _Pascal calling convention and a _Far32_Pascal convention. The _Far32_Pascal convention allows you to make calls between different code segments in code that runs at ring 0, and is only valid when the /Gr compiler option is specified. The _Pascal conventions are most commonly used to create virtual device drivers.
Notes:
The _Pascal and _Far32_Pascal conventions follow the same rules as the _System convention with these exceptions:
Important: The compiler does not convert 16-bit or 32-bit _Pascal function names to uppercase. The case of the function name in the call must match the case in the function prototype. Function names are, however, converted to uppercase in the object module to allow calls from assembler.
![]()
Calling
Conventions
Develop
Virtual Device Drivers
![]()
Virtual Device Driver
Calling Conventions
Using
_Far32_Pascal Function Pointers
Examples
Using the _Pascal Convention