# How can I access the raw stack data? MS callback proc prototype changes when asm starts popping the stack

**URL:** <https://clarionhub.com/t/how-can-i-access-the-raw-stack-data-ms-callback-proc-prototype-changes-when-asm-starts-popping-the-stack/5377>\
**Category:** questions\
**Created:** [August 27, 2022, 12:02am UTC](https://clarionhub.com/t/how-can-i-access-the-raw-stack-data-ms-callback-proc-prototype-changes-when-asm-starts-popping-the-stack/5377 "2022-08-27T00:02:02Z")\
**Posts on this page:** 1\
**Showing post:** 13

<div class="post-metadata">

**Author:** ![AbdullahAkilah](https://clarionhub.com/user_avatar/clarionhub.com/abdullahakilah/32/4818_2.png) [@AbdullahAkilah](https://clarionhub.com/u/AbdullahAkilah)\
**Post date:** [August 30, 2022, 3:15pm UTC](https://clarionhub.com/t/how-can-i-access-the-raw-stack-data-ms-callback-proc-prototype-changes-when-asm-starts-popping-the-stack/5377/13 "2022-08-30T15:15:54Z")

</div>

Then use the Pascal calling convention, which is the same as C except in reverse. Then you don’t need the Pragma() statements at all.

CallBackProc(long phModule, long pType, long plParam), Bool, Pascal

All Windows API prototypes are this way, just because you’re converting from a C declaration doesn’t mean you actually use the C calling convention

> **[Prototyping API Calls for Dummies](http://attryde.com/clarion/cw_prototypes.htm)**

---

_[View the full topic](https://clarionhub.com/t/how-can-i-access-the-raw-stack-data-ms-callback-proc-prototype-changes-when-asm-starts-popping-the-stack/5377)._
