Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

349 lines
10 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 1994.
  5. //
  6. // File: tc1632.cxx
  7. //
  8. // Notes: This file is automatically generated
  9. // Do not modify by hand
  10. //
  11. // History: Fri May 27 10:39:02 1994 Generated
  12. //
  13. //----------------------------------------------------------------------------
  14. #include <headers.cxx>
  15. #pragma hdrstop
  16. #if DBG == 1
  17. extern "C" ULONG ThunkCall1632_count = 0;
  18. extern "C" ULONG ThunkCall1632_break = 0;
  19. #endif
  20. DWORD ThunkCall1632(THUNKINFO *pti)
  21. {
  22. DWORD dwReturn;
  23. #if DBG == 1
  24. ULONG ulThunkCall1632_count = ++ThunkCall1632_count;
  25. thkAssert( (ThunkCall1632_count != ThunkCall1632_break) &&
  26. "Break Count Hit");
  27. #endif
  28. thkAssert(pti->pvfn != NULL);
  29. thkAssert(*pti->pThop == THOP_END);
  30. pti->pThop++;
  31. thkAssert(*pti->pThop == THOP_ROUTINEINDEX);
  32. pti->pThop++;
  33. thkDebugOut((DEB_ITRACE, "%sIn ThunkCall1632 #(%x) %p, index %d\n",
  34. NestingLevelString(), ulThunkCall1632_count,
  35. pti->pvfn, *pti->pThop));
  36. DebugIncrementNestingLevel();
  37. if (FAILED(pti->scResult))
  38. {
  39. DebugDecrementNestingLevel();
  40. thkDebugOut((DEB_ITRACE, "%sOut ThunkCall1632 #(%x) returns 0x%08lX\n",
  41. NestingLevelString(), ulThunkCall1632_count, pti->scResult));
  42. return (DWORD)pti->scResult;
  43. }
  44. pti->pThkMgr->SetThkState(THKSTATE_NOCALL);
  45. switch(*pti->pThop)
  46. {
  47. case 0:
  48. dwReturn = (*(DWORD (__stdcall *)(
  49. DWORD,
  50. DWORD,
  51. DWORD))pti->pvfn)(
  52. *(DWORD *)(pti->s32.pbStart+0),
  53. *(DWORD *)(pti->s32.pbStart+4),
  54. *(DWORD *)(pti->s32.pbStart+8)
  55. );
  56. break;
  57. case 1:
  58. dwReturn = (*(DWORD (__stdcall *)(
  59. DWORD))pti->pvfn)(
  60. *(DWORD *)(pti->s32.pbStart+0)
  61. );
  62. break;
  63. case 2:
  64. dwReturn = (*(DWORD (__stdcall *)(
  65. DWORD,
  66. DWORD,
  67. DWORD,
  68. DWORD))pti->pvfn)(
  69. *(DWORD *)(pti->s32.pbStart+0),
  70. *(DWORD *)(pti->s32.pbStart+4),
  71. *(DWORD *)(pti->s32.pbStart+8),
  72. *(DWORD *)(pti->s32.pbStart+12)
  73. );
  74. break;
  75. case 3:
  76. dwReturn = (*(DWORD (__stdcall *)(
  77. DWORD,
  78. DWORD))pti->pvfn)(
  79. *(DWORD *)(pti->s32.pbStart+0),
  80. *(DWORD *)(pti->s32.pbStart+4)
  81. );
  82. break;
  83. case 4:
  84. dwReturn = (*(DWORD (__stdcall *)(
  85. DWORD,
  86. DWORD,
  87. DWORD,
  88. DWORD,
  89. DWORD,
  90. DWORD,
  91. DWORD))pti->pvfn)(
  92. *(DWORD *)(pti->s32.pbStart+0),
  93. *(DWORD *)(pti->s32.pbStart+4),
  94. *(DWORD *)(pti->s32.pbStart+8),
  95. *(DWORD *)(pti->s32.pbStart+12),
  96. *(DWORD *)(pti->s32.pbStart+16),
  97. *(DWORD *)(pti->s32.pbStart+20),
  98. *(DWORD *)(pti->s32.pbStart+24)
  99. );
  100. break;
  101. case 5:
  102. dwReturn = (*(DWORD (__stdcall *)(
  103. DWORD,
  104. DWORD,
  105. DWORD,
  106. DWORD,
  107. DWORD))pti->pvfn)(
  108. *(DWORD *)(pti->s32.pbStart+0),
  109. *(DWORD *)(pti->s32.pbStart+4),
  110. *(DWORD *)(pti->s32.pbStart+8),
  111. *(DWORD *)(pti->s32.pbStart+12),
  112. *(DWORD *)(pti->s32.pbStart+16)
  113. );
  114. break;
  115. case 6:
  116. dwReturn = (*(DWORD (__stdcall *)())pti->pvfn)(
  117. );
  118. break;
  119. case 7:
  120. dwReturn = (*(DWORD (__stdcall *)(
  121. DWORD,
  122. DWORD,
  123. DWORD,
  124. DWORD,
  125. DWORD,
  126. DWORD))pti->pvfn)(
  127. *(DWORD *)(pti->s32.pbStart+0),
  128. *(DWORD *)(pti->s32.pbStart+4),
  129. *(DWORD *)(pti->s32.pbStart+8),
  130. *(DWORD *)(pti->s32.pbStart+12),
  131. *(DWORD *)(pti->s32.pbStart+16),
  132. *(DWORD *)(pti->s32.pbStart+20)
  133. );
  134. break;
  135. case 8:
  136. dwReturn = (*(DWORD (__stdcall *)(
  137. WORD,
  138. WORD,
  139. DWORD))pti->pvfn)(
  140. *(WORD *)(pti->s32.pbStart+0),
  141. *(WORD *)(pti->s32.pbStart+4),
  142. *(DWORD *)(pti->s32.pbStart+8)
  143. );
  144. break;
  145. case 9:
  146. dwReturn = (*(DWORD (__stdcall *)(
  147. DWORD,
  148. ULARGE_INTEGER,
  149. DWORD,
  150. DWORD,
  151. DWORD))pti->pvfn)(
  152. *(DWORD *)(pti->s32.pbStart+0),
  153. *(ULARGE_INTEGER UNALIGNED *)(pti->s32.pbStart+4),
  154. *(DWORD *)(pti->s32.pbStart+12),
  155. *(DWORD *)(pti->s32.pbStart+16),
  156. *(DWORD *)(pti->s32.pbStart+20)
  157. );
  158. break;
  159. case 10:
  160. dwReturn = (*(DWORD (__stdcall *)(
  161. DWORD,
  162. ULARGE_INTEGER))pti->pvfn)(
  163. *(DWORD *)(pti->s32.pbStart+0),
  164. *(ULARGE_INTEGER UNALIGNED *)(pti->s32.pbStart+4)
  165. );
  166. break;
  167. case 11:
  168. dwReturn = (*(DWORD (__stdcall *)(
  169. DWORD,
  170. ULARGE_INTEGER,
  171. ULARGE_INTEGER,
  172. DWORD))pti->pvfn)(
  173. *(DWORD *)(pti->s32.pbStart+0),
  174. *(ULARGE_INTEGER UNALIGNED *)(pti->s32.pbStart+4),
  175. *(ULARGE_INTEGER UNALIGNED *)(pti->s32.pbStart+12),
  176. *(DWORD *)(pti->s32.pbStart+20)
  177. );
  178. break;
  179. case 12:
  180. dwReturn = (*(DWORD (__stdcall *)(
  181. DWORD,
  182. ULARGE_INTEGER,
  183. DWORD,
  184. DWORD))pti->pvfn)(
  185. *(DWORD *)(pti->s32.pbStart+0),
  186. *(ULARGE_INTEGER UNALIGNED *)(pti->s32.pbStart+4),
  187. *(DWORD *)(pti->s32.pbStart+12),
  188. *(DWORD *)(pti->s32.pbStart+16)
  189. );
  190. break;
  191. case 13:
  192. dwReturn = (*(DWORD (__stdcall *)(
  193. DWORD,
  194. DWORD,
  195. ULARGE_INTEGER,
  196. DWORD,
  197. DWORD))pti->pvfn)(
  198. *(DWORD *)(pti->s32.pbStart+0),
  199. *(DWORD *)(pti->s32.pbStart+4),
  200. *(ULARGE_INTEGER UNALIGNED *)(pti->s32.pbStart+8),
  201. *(DWORD *)(pti->s32.pbStart+16),
  202. *(DWORD *)(pti->s32.pbStart+20)
  203. );
  204. break;
  205. case 14:
  206. dwReturn = (*(DWORD (__stdcall *)(
  207. DWORD,
  208. DWORD,
  209. DWORD,
  210. DWORD,
  211. DWORD,
  212. DWORD,
  213. DWORD,
  214. DWORD,
  215. DWORD,
  216. DWORD,
  217. DWORD))pti->pvfn)(
  218. *(DWORD *)(pti->s32.pbStart+0),
  219. *(DWORD *)(pti->s32.pbStart+4),
  220. *(DWORD *)(pti->s32.pbStart+8),
  221. *(DWORD *)(pti->s32.pbStart+12),
  222. *(DWORD *)(pti->s32.pbStart+16),
  223. *(DWORD *)(pti->s32.pbStart+20),
  224. *(DWORD *)(pti->s32.pbStart+24),
  225. *(DWORD *)(pti->s32.pbStart+28),
  226. *(DWORD *)(pti->s32.pbStart+32),
  227. *(DWORD *)(pti->s32.pbStart+36),
  228. *(DWORD *)(pti->s32.pbStart+40)
  229. );
  230. break;
  231. case 15:
  232. dwReturn = (*(DWORD (__stdcall *)(
  233. DWORD,
  234. DWORD,
  235. DWORD,
  236. SIZEL,
  237. DWORD))pti->pvfn)(
  238. *(DWORD *)(pti->s32.pbStart+0),
  239. *(DWORD *)(pti->s32.pbStart+4),
  240. *(DWORD *)(pti->s32.pbStart+8),
  241. *(SIZEL *)(pti->s32.pbStart+12),
  242. *(DWORD *)(pti->s32.pbStart+20)
  243. );
  244. break;
  245. case 16:
  246. dwReturn = (*(DWORD (__stdcall *)(
  247. DWORD,
  248. DWORD,
  249. SIZEL,
  250. DWORD))pti->pvfn)(
  251. *(DWORD *)(pti->s32.pbStart+0),
  252. *(DWORD *)(pti->s32.pbStart+4),
  253. *(SIZEL *)(pti->s32.pbStart+8),
  254. *(DWORD *)(pti->s32.pbStart+16)
  255. );
  256. break;
  257. case 17:
  258. dwReturn = (*(DWORD (__stdcall *)(
  259. DWORD,
  260. DWORD,
  261. WORD))pti->pvfn)(
  262. *(DWORD *)(pti->s32.pbStart+0),
  263. *(DWORD *)(pti->s32.pbStart+4),
  264. *(WORD *)(pti->s32.pbStart+8)
  265. );
  266. break;
  267. case 18:
  268. dwReturn = (*(DWORD (__stdcall *)(
  269. DWORD,
  270. SIZEL))pti->pvfn)(
  271. *(DWORD *)(pti->s32.pbStart+0),
  272. *(SIZEL *)(pti->s32.pbStart+4)
  273. );
  274. break;
  275. case 19:
  276. dwReturn = (*(DWORD (__stdcall *)(
  277. DWORD,
  278. WORD,
  279. DWORD))pti->pvfn)(
  280. *(DWORD *)(pti->s32.pbStart+0),
  281. *(WORD *)(pti->s32.pbStart+4),
  282. *(DWORD *)(pti->s32.pbStart+8)
  283. );
  284. break;
  285. case 20:
  286. dwReturn = (*(DWORD (__stdcall *)(
  287. DWORD,
  288. DWORD,
  289. DWORD,
  290. DWORD,
  291. DWORD,
  292. DWORD,
  293. DWORD,
  294. DWORD))pti->pvfn)(
  295. *(DWORD *)(pti->s32.pbStart+0),
  296. *(DWORD *)(pti->s32.pbStart+4),
  297. *(DWORD *)(pti->s32.pbStart+8),
  298. *(DWORD *)(pti->s32.pbStart+12),
  299. *(DWORD *)(pti->s32.pbStart+16),
  300. *(DWORD *)(pti->s32.pbStart+20),
  301. *(DWORD *)(pti->s32.pbStart+24),
  302. *(DWORD *)(pti->s32.pbStart+28)
  303. );
  304. break;
  305. case 21:
  306. dwReturn = (*(DWORD (__stdcall *)(
  307. DWORD,
  308. WORD,
  309. DWORD,
  310. DWORD,
  311. DWORD,
  312. DWORD,
  313. DWORD))pti->pvfn)(
  314. *(DWORD *)(pti->s32.pbStart+0),
  315. *(WORD *)(pti->s32.pbStart+4),
  316. *(DWORD *)(pti->s32.pbStart+8),
  317. *(DWORD *)(pti->s32.pbStart+12),
  318. *(DWORD *)(pti->s32.pbStart+16),
  319. *(DWORD *)(pti->s32.pbStart+20),
  320. *(DWORD *)(pti->s32.pbStart+24)
  321. );
  322. break;
  323. }
  324. #if DBG == 1
  325. if ( !pti->fResultThunked && FAILED(dwReturn) )
  326. {
  327. thkDebugOut((DEB_FAILURES,
  328. "ThunkCall1632 pvfn = %08lX Probably failed hr = %08lX\n",
  329. pti->pvfn, dwReturn));
  330. if(thkInfoLevel & DEB_DBGFAIL)
  331. thkAssert(!"Wish to Debug");
  332. }
  333. #endif
  334. pti->pThkMgr->SetThkState(THKSTATE_INVOKETHKOUT32);
  335. DebugDecrementNestingLevel();
  336. thkDebugOut((DEB_ITRACE, "%sOut ThunkCall1632 #(%x) returns 0x%08lX\n",
  337. NestingLevelString(), ulThunkCall1632_count, dwReturn));
  338. return dwReturn;
  339. }
  340.