c++ shellcode有关问题

c++ shellcode问题
创建一个数组 写入可执行机器代码  
大致汇编代码就是  

PUSH 参数
CALL API入口地址
RET


通过定义函数原型执行数组代码, 就像这样(void(*)())codearray();  
但执行结果一直都不对,不知道汇编是否正确或者说思路是否可行
希望大侠们给我一段可行的代码。很无奈...
有vb的类似代码: http://blog.****.net/supermanking/article/details/2992218

------解决方案--------------------
同求~