Windows NT 4.0 source code leak
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.

575 lines
9.9 KiB

4 years ago
  1. // TITLE("NdrProxyForwardingFunctions")
  2. //++
  3. //
  4. // Copyright (c) 1994 Microsoft Corporation. All rights reserved.
  5. //
  6. // Module Name:
  7. // forward.s
  8. //
  9. // Abstract:
  10. // This module implements the proxy forwarding functions.
  11. //
  12. // Author:
  13. // GregJen 25-Oct-94
  14. //
  15. // Environment:
  16. // Any mode.
  17. //
  18. // Revision History:
  19. //
  20. //--
  21. #include "ksalpha.h"
  22. //++
  23. //
  24. // VOID
  25. // NdrProxyForwardingFunction<nnn>(
  26. // IN IUnknown *This,
  27. // ...
  28. // )
  29. //
  30. // Routine Description:
  31. //
  32. // This function forwards a call to the proxy for the base interface.
  33. //
  34. // Arguments:
  35. //
  36. // This (a0) - Points to an interface proxy.
  37. //
  38. // Return Value:
  39. //
  40. // None.
  41. //
  42. //--
  43. #define SUBCLASS_OFFSET 16
  44. #define VTABLE_ENTRY(n) n*4
  45. SBTTL("Delegation forwarding functions")
  46. // here is what a forwarder looks like
  47. // we must:
  48. // change the "this" pointer in a0 to the delegated object
  49. // fetch the correct entry from the vtable
  50. // call the function
  51. #define DELEGATION_FORWARDER(method_num) \
  52. LEAF_ENTRY( NdrProxyForwardingFunction##method_num ) \
  53. ldl a0, SUBCLASS_OFFSET(a0); \
  54. ldl t0,(a0); \
  55. ldl t0,VTABLE_ENTRY(method_num)(t0); \
  56. jmp (t0); \
  57. .end NdrProxyForwardingFunction##method_num;
  58. DELEGATION_FORWARDER(3)
  59. DELEGATION_FORWARDER(4)
  60. DELEGATION_FORWARDER(5)
  61. DELEGATION_FORWARDER(6)
  62. DELEGATION_FORWARDER(7)
  63. DELEGATION_FORWARDER(8)
  64. DELEGATION_FORWARDER(9)
  65. DELEGATION_FORWARDER(10)
  66. DELEGATION_FORWARDER(11)
  67. DELEGATION_FORWARDER(12)
  68. DELEGATION_FORWARDER(13)
  69. DELEGATION_FORWARDER(14)
  70. DELEGATION_FORWARDER(15)
  71. DELEGATION_FORWARDER(16)
  72. DELEGATION_FORWARDER(17)
  73. DELEGATION_FORWARDER(18)
  74. DELEGATION_FORWARDER(19)
  75. DELEGATION_FORWARDER(20)
  76. DELEGATION_FORWARDER(21)
  77. DELEGATION_FORWARDER(22)
  78. DELEGATION_FORWARDER(23)
  79. DELEGATION_FORWARDER(24)
  80. DELEGATION_FORWARDER(25)
  81. DELEGATION_FORWARDER(26)
  82. DELEGATION_FORWARDER(27)
  83. DELEGATION_FORWARDER(28)
  84. DELEGATION_FORWARDER(29)
  85. DELEGATION_FORWARDER(30)
  86. DELEGATION_FORWARDER(31)
  87. DELEGATION_FORWARDER(32)
  88. DELEGATION_FORWARDER(33)
  89. DELEGATION_FORWARDER(34)
  90. DELEGATION_FORWARDER(35)
  91. DELEGATION_FORWARDER(36)
  92. DELEGATION_FORWARDER(37)
  93. DELEGATION_FORWARDER(38)
  94. DELEGATION_FORWARDER(39)
  95. DELEGATION_FORWARDER(40)
  96. DELEGATION_FORWARDER(41)
  97. DELEGATION_FORWARDER(42)
  98. DELEGATION_FORWARDER(43)
  99. DELEGATION_FORWARDER(44)
  100. DELEGATION_FORWARDER(45)
  101. DELEGATION_FORWARDER(46)
  102. DELEGATION_FORWARDER(47)
  103. DELEGATION_FORWARDER(48)
  104. DELEGATION_FORWARDER(49)
  105. DELEGATION_FORWARDER(50)
  106. DELEGATION_FORWARDER(51)
  107. DELEGATION_FORWARDER(52)
  108. DELEGATION_FORWARDER(53)
  109. DELEGATION_FORWARDER(54)
  110. DELEGATION_FORWARDER(55)
  111. DELEGATION_FORWARDER(56)
  112. DELEGATION_FORWARDER(57)
  113. DELEGATION_FORWARDER(58)
  114. DELEGATION_FORWARDER(59)
  115. DELEGATION_FORWARDER(60)
  116. DELEGATION_FORWARDER(61)
  117. DELEGATION_FORWARDER(62)
  118. DELEGATION_FORWARDER(63)
  119. DELEGATION_FORWARDER(64)
  120. DELEGATION_FORWARDER(65)
  121. DELEGATION_FORWARDER(66)
  122. DELEGATION_FORWARDER(67)
  123. DELEGATION_FORWARDER(68)
  124. DELEGATION_FORWARDER(69)
  125. DELEGATION_FORWARDER(70)
  126. DELEGATION_FORWARDER(71)
  127. DELEGATION_FORWARDER(72)
  128. DELEGATION_FORWARDER(73)
  129. DELEGATION_FORWARDER(74)
  130. DELEGATION_FORWARDER(75)
  131. DELEGATION_FORWARDER(76)
  132. DELEGATION_FORWARDER(77)
  133. DELEGATION_FORWARDER(78)
  134. DELEGATION_FORWARDER(79)
  135. DELEGATION_FORWARDER(80)
  136. DELEGATION_FORWARDER(81)
  137. DELEGATION_FORWARDER(82)
  138. DELEGATION_FORWARDER(83)
  139. DELEGATION_FORWARDER(84)
  140. DELEGATION_FORWARDER(85)
  141. DELEGATION_FORWARDER(86)
  142. DELEGATION_FORWARDER(87)
  143. DELEGATION_FORWARDER(88)
  144. DELEGATION_FORWARDER(89)
  145. DELEGATION_FORWARDER(90)
  146. DELEGATION_FORWARDER(91)
  147. DELEGATION_FORWARDER(92)
  148. DELEGATION_FORWARDER(93)
  149. DELEGATION_FORWARDER(94)
  150. DELEGATION_FORWARDER(95)
  151. DELEGATION_FORWARDER(96)
  152. DELEGATION_FORWARDER(97)
  153. DELEGATION_FORWARDER(98)
  154. DELEGATION_FORWARDER(99)
  155. DELEGATION_FORWARDER(100)
  156. DELEGATION_FORWARDER(101)
  157. DELEGATION_FORWARDER(102)
  158. DELEGATION_FORWARDER(103)
  159. DELEGATION_FORWARDER(104)
  160. DELEGATION_FORWARDER(105)
  161. DELEGATION_FORWARDER(106)
  162. DELEGATION_FORWARDER(107)
  163. DELEGATION_FORWARDER(108)
  164. DELEGATION_FORWARDER(109)
  165. DELEGATION_FORWARDER(110)
  166. DELEGATION_FORWARDER(111)
  167. DELEGATION_FORWARDER(112)
  168. DELEGATION_FORWARDER(113)
  169. DELEGATION_FORWARDER(114)
  170. DELEGATION_FORWARDER(115)
  171. DELEGATION_FORWARDER(116)
  172. DELEGATION_FORWARDER(117)
  173. DELEGATION_FORWARDER(118)
  174. DELEGATION_FORWARDER(119)
  175. DELEGATION_FORWARDER(120)
  176. DELEGATION_FORWARDER(121)
  177. DELEGATION_FORWARDER(122)
  178. DELEGATION_FORWARDER(123)
  179. DELEGATION_FORWARDER(124)
  180. DELEGATION_FORWARDER(125)
  181. DELEGATION_FORWARDER(126)
  182. DELEGATION_FORWARDER(127)
  183. DELEGATION_FORWARDER(128)
  184. DELEGATION_FORWARDER(129)
  185. DELEGATION_FORWARDER(130)
  186. DELEGATION_FORWARDER(131)
  187. DELEGATION_FORWARDER(132)
  188. DELEGATION_FORWARDER(133)
  189. DELEGATION_FORWARDER(134)
  190. DELEGATION_FORWARDER(135)
  191. DELEGATION_FORWARDER(136)
  192. DELEGATION_FORWARDER(137)
  193. DELEGATION_FORWARDER(138)
  194. DELEGATION_FORWARDER(139)
  195. DELEGATION_FORWARDER(140)
  196. DELEGATION_FORWARDER(141)
  197. DELEGATION_FORWARDER(142)
  198. DELEGATION_FORWARDER(143)
  199. DELEGATION_FORWARDER(144)
  200. DELEGATION_FORWARDER(145)
  201. DELEGATION_FORWARDER(146)
  202. DELEGATION_FORWARDER(147)
  203. DELEGATION_FORWARDER(148)
  204. DELEGATION_FORWARDER(149)
  205. DELEGATION_FORWARDER(150)
  206. DELEGATION_FORWARDER(151)
  207. DELEGATION_FORWARDER(152)
  208. DELEGATION_FORWARDER(153)
  209. DELEGATION_FORWARDER(154)
  210. DELEGATION_FORWARDER(155)
  211. DELEGATION_FORWARDER(156)
  212. DELEGATION_FORWARDER(157)
  213. DELEGATION_FORWARDER(158)
  214. DELEGATION_FORWARDER(159)
  215. DELEGATION_FORWARDER(160)
  216. DELEGATION_FORWARDER(161)
  217. DELEGATION_FORWARDER(162)
  218. DELEGATION_FORWARDER(163)
  219. DELEGATION_FORWARDER(164)
  220. DELEGATION_FORWARDER(165)
  221. DELEGATION_FORWARDER(166)
  222. DELEGATION_FORWARDER(167)
  223. DELEGATION_FORWARDER(168)
  224. DELEGATION_FORWARDER(169)
  225. DELEGATION_FORWARDER(170)
  226. DELEGATION_FORWARDER(171)
  227. DELEGATION_FORWARDER(172)
  228. DELEGATION_FORWARDER(173)
  229. DELEGATION_FORWARDER(174)
  230. DELEGATION_FORWARDER(175)
  231. DELEGATION_FORWARDER(176)
  232. DELEGATION_FORWARDER(177)
  233. DELEGATION_FORWARDER(178)
  234. DELEGATION_FORWARDER(179)
  235. DELEGATION_FORWARDER(180)
  236. DELEGATION_FORWARDER(181)
  237. DELEGATION_FORWARDER(182)
  238. DELEGATION_FORWARDER(183)
  239. DELEGATION_FORWARDER(184)
  240. DELEGATION_FORWARDER(185)
  241. DELEGATION_FORWARDER(186)
  242. DELEGATION_FORWARDER(187)
  243. DELEGATION_FORWARDER(188)
  244. DELEGATION_FORWARDER(189)
  245. DELEGATION_FORWARDER(190)
  246. DELEGATION_FORWARDER(191)
  247. DELEGATION_FORWARDER(192)
  248. DELEGATION_FORWARDER(193)
  249. DELEGATION_FORWARDER(194)
  250. DELEGATION_FORWARDER(195)
  251. DELEGATION_FORWARDER(196)
  252. DELEGATION_FORWARDER(197)
  253. DELEGATION_FORWARDER(198)
  254. DELEGATION_FORWARDER(199)
  255. DELEGATION_FORWARDER(200)
  256. DELEGATION_FORWARDER(201)
  257. DELEGATION_FORWARDER(202)
  258. DELEGATION_FORWARDER(203)
  259. DELEGATION_FORWARDER(204)
  260. DELEGATION_FORWARDER(205)
  261. DELEGATION_FORWARDER(206)
  262. DELEGATION_FORWARDER(207)
  263. DELEGATION_FORWARDER(208)
  264. DELEGATION_FORWARDER(209)
  265. DELEGATION_FORWARDER(210)
  266. DELEGATION_FORWARDER(211)
  267. DELEGATION_FORWARDER(212)
  268. DELEGATION_FORWARDER(213)
  269. DELEGATION_FORWARDER(214)
  270. DELEGATION_FORWARDER(215)
  271. DELEGATION_FORWARDER(216)
  272. DELEGATION_FORWARDER(217)
  273. DELEGATION_FORWARDER(218)
  274. DELEGATION_FORWARDER(219)
  275. DELEGATION_FORWARDER(220)
  276. DELEGATION_FORWARDER(221)
  277. DELEGATION_FORWARDER(222)
  278. DELEGATION_FORWARDER(223)
  279. DELEGATION_FORWARDER(224)
  280. DELEGATION_FORWARDER(225)
  281. DELEGATION_FORWARDER(226)
  282. DELEGATION_FORWARDER(227)
  283. DELEGATION_FORWARDER(228)
  284. DELEGATION_FORWARDER(229)
  285. DELEGATION_FORWARDER(230)
  286. DELEGATION_FORWARDER(231)
  287. DELEGATION_FORWARDER(232)
  288. DELEGATION_FORWARDER(233)
  289. DELEGATION_FORWARDER(234)
  290. DELEGATION_FORWARDER(235)
  291. DELEGATION_FORWARDER(236)
  292. DELEGATION_FORWARDER(237)
  293. DELEGATION_FORWARDER(238)
  294. DELEGATION_FORWARDER(239)
  295. DELEGATION_FORWARDER(240)
  296. DELEGATION_FORWARDER(241)
  297. DELEGATION_FORWARDER(242)
  298. DELEGATION_FORWARDER(243)
  299. DELEGATION_FORWARDER(244)
  300. DELEGATION_FORWARDER(245)
  301. DELEGATION_FORWARDER(246)
  302. DELEGATION_FORWARDER(247)
  303. DELEGATION_FORWARDER(248)
  304. DELEGATION_FORWARDER(249)
  305. DELEGATION_FORWARDER(250)
  306. DELEGATION_FORWARDER(251)
  307. DELEGATION_FORWARDER(252)
  308. DELEGATION_FORWARDER(253)
  309. DELEGATION_FORWARDER(254)
  310. DELEGATION_FORWARDER(255)