Leaked source code of windows server 2003
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.

313 lines
8.2 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1997.
  5. //
  6. // File: P R O C M A P . C
  7. //
  8. // Contents: Procedure maps for dload.c
  9. //
  10. // Notes:
  11. //
  12. // Author: shaunco 19 May 1998
  13. //
  14. //----------------------------------------------------------------------------
  15. #include "pch.h"
  16. #pragma hdrstop
  17. //
  18. // All of the DLLs that kernel32.dll supports delay-load failure handlers for
  19. // (both by procedure and by ordinal) need both a DECLARE_XXXXXX_MAP below and
  20. // a DLDENTRYX entry in the g_DllEntries list.
  21. //
  22. // alphabetical order (hint hint)
  23. DECLARE_ORDINAL_MAP(aclui)
  24. DECLARE_ORDINAL_MAP(activeds)
  25. DECLARE_PROCNAME_MAP(advapi32)
  26. DECLARE_PROCNAME_MAP(advpack)
  27. DECLARE_PROCNAME_MAP(apphelp)
  28. DECLARE_PROCNAME_MAP(authz)
  29. DECLARE_ORDINAL_MAP(browseui)
  30. DECLARE_ORDINAL_MAP(cabinet)
  31. DECLARE_PROCNAME_MAP(catsrv)
  32. DECLARE_PROCNAME_MAP(catsrvut)
  33. DECLARE_PROCNAME_MAP(cdfview)
  34. DECLARE_ORDINAL_MAP(certcli)
  35. DECLARE_PROCNAME_MAP(certcli)
  36. DECLARE_PROCNAME_MAP(clbcatq)
  37. DECLARE_PROCNAME_MAP(colbact)
  38. DECLARE_ORDINAL_MAP(comctl32)
  39. DECLARE_PROCNAME_MAP(comctl32)
  40. DECLARE_PROCNAME_MAP(comdlg32)
  41. DECLARE_PROCNAME_MAP(comres)
  42. DECLARE_PROCNAME_MAP(comsvcs)
  43. DECLARE_PROCNAME_MAP(credui)
  44. DECLARE_PROCNAME_MAP(crypt32)
  45. DECLARE_PROCNAME_MAP(cryptui)
  46. DECLARE_ORDINAL_MAP(cscdll)
  47. DECLARE_PROCNAME_MAP(dbghelp)
  48. DECLARE_PROCNAME_MAP(ddraw)
  49. DECLARE_ORDINAL_MAP(devmgr)
  50. DECLARE_PROCNAME_MAP(dhcpcsvc)
  51. DECLARE_PROCNAME_MAP(dnsapi)
  52. DECLARE_ORDINAL_MAP(dsound)
  53. DECLARE_PROCNAME_MAP(duser)
  54. DECLARE_PROCNAME_MAP(efsadu)
  55. DECLARE_PROCNAME_MAP(esent)
  56. DECLARE_PROCNAME_MAP(fxsapi)
  57. DECLARE_PROCNAME_MAP(gdi32)
  58. DECLARE_PROCNAME_MAP(gdiplus)
  59. DECLARE_ORDINAL_MAP(hlink)
  60. DECLARE_PROCNAME_MAP(iashlpr)
  61. DECLARE_PROCNAME_MAP(imagehlp)
  62. DECLARE_PROCNAME_MAP(imgutil)
  63. DECLARE_PROCNAME_MAP(imm32)
  64. DECLARE_PROCNAME_MAP(inetcomm)
  65. DECLARE_PROCNAME_MAP(iphlpapi)
  66. DECLARE_PROCNAME_MAP(kdcsvc)
  67. DECLARE_PROCNAME_MAP(keymgr)
  68. DECLARE_PROCNAME_MAP(linkinfo)
  69. DECLARE_PROCNAME_MAP(loadperf)
  70. DECLARE_PROCNAME_MAP(lsasrv)
  71. DECLARE_PROCNAME_MAP(lz32)
  72. DECLARE_ORDINAL_MAP(mlang)
  73. DECLARE_PROCNAME_MAP(mobsync)
  74. DECLARE_PROCNAME_MAP(mpr)
  75. DECLARE_PROCNAME_MAP(mprapi)
  76. DECLARE_PROCNAME_MAP(mprui)
  77. DECLARE_PROCNAME_MAP(mqrt)
  78. DECLARE_PROCNAME_MAP(msacm32)
  79. DECLARE_PROCNAME_MAP(mscat32)
  80. DECLARE_ORDINAL_MAP(msgina)
  81. DECLARE_PROCNAME_MAP(mshtml)
  82. DECLARE_ORDINAL_MAP(msi)
  83. DECLARE_PROCNAME_MAP(msimg32)
  84. DECLARE_PROCNAME_MAP(msjava)
  85. DECLARE_PROCNAME_MAP(msrating)
  86. DECLARE_PROCNAME_MAP(mssign32)
  87. DECLARE_PROCNAME_MAP(mswsock)
  88. DECLARE_PROCNAME_MAP(mtxclu)
  89. DECLARE_PROCNAME_MAP(netapi32)
  90. DECLARE_PROCNAME_MAP(netcfgx)
  91. DECLARE_PROCNAME_MAP(netman)
  92. DECLARE_PROCNAME_MAP(netplwiz)
  93. DECLARE_PROCNAME_MAP(netrap)
  94. DECLARE_PROCNAME_MAP(netshell)
  95. DECLARE_PROCNAME_MAP(ntdsa)
  96. DECLARE_PROCNAME_MAP(ntdsapi)
  97. DECLARE_PROCNAME_MAP(ntdsbsrv)
  98. DECLARE_PROCNAME_MAP(ntdsetup)
  99. DECLARE_PROCNAME_MAP(ntdskcc)
  100. DECLARE_PROCNAME_MAP(ntlanman)
  101. DECLARE_PROCNAME_MAP(ntlsapi)
  102. DECLARE_PROCNAME_MAP(ntmarta)
  103. DECLARE_PROCNAME_MAP(ntshrui)
  104. DECLARE_PROCNAME_MAP(ocmanage)
  105. DECLARE_ORDINAL_MAP(odbc32)
  106. DECLARE_PROCNAME_MAP(ole32)
  107. DECLARE_PROCNAME_MAP(oleacc)
  108. DECLARE_ORDINAL_MAP(oleaut32)
  109. DECLARE_PROCNAME_MAP(pautoenr)
  110. DECLARE_ORDINAL_MAP(pidgen)
  111. DECLARE_PROCNAME_MAP(powrprof)
  112. DECLARE_PROCNAME_MAP(printui)
  113. DECLARE_PROCNAME_MAP(pstorec)
  114. DECLARE_PROCNAME_MAP(query)
  115. DECLARE_PROCNAME_MAP(rasapi32)
  116. DECLARE_PROCNAME_MAP(rasdlg)
  117. DECLARE_PROCNAME_MAP(rasman)
  118. DECLARE_PROCNAME_MAP(regapi)
  119. DECLARE_PROCNAME_MAP(rpcrt4)
  120. DECLARE_PROCNAME_MAP(rtutils)
  121. DECLARE_PROCNAME_MAP(samlib)
  122. DECLARE_PROCNAME_MAP(samsrv)
  123. DECLARE_PROCNAME_MAP(scecli)
  124. DECLARE_PROCNAME_MAP(secur32)
  125. DECLARE_PROCNAME_MAP(setupapi)
  126. DECLARE_ORDINAL_MAP(sfc)
  127. DECLARE_PROCNAME_MAP(sfc)
  128. DECLARE_PROCNAME_MAP(sfmapi)
  129. DECLARE_ORDINAL_MAP(shdocvw)
  130. DECLARE_PROCNAME_MAP(shdocvw)
  131. DECLARE_ORDINAL_MAP(shell32)
  132. DECLARE_PROCNAME_MAP(shell32)
  133. DECLARE_ORDINAL_MAP(shlwapi)
  134. DECLARE_PROCNAME_MAP(shlwapi)
  135. DECLARE_ORDINAL_MAP(shsvcs)
  136. DECLARE_PROCNAME_MAP(sti)
  137. DECLARE_PROCNAME_MAP(syssetup)
  138. DECLARE_PROCNAME_MAP(tapi32)
  139. DECLARE_PROCNAME_MAP(urlmon)
  140. DECLARE_PROCNAME_MAP(user32)
  141. DECLARE_ORDINAL_MAP(userenv)
  142. DECLARE_PROCNAME_MAP(userenv)
  143. DECLARE_PROCNAME_MAP(usp10)
  144. DECLARE_PROCNAME_MAP(utildll)
  145. DECLARE_ORDINAL_MAP(uxtheme)
  146. DECLARE_PROCNAME_MAP(uxtheme)
  147. DECLARE_PROCNAME_MAP(version)
  148. DECLARE_PROCNAME_MAP(w32topl)
  149. DECLARE_PROCNAME_MAP(winhttp)
  150. DECLARE_ORDINAL_MAP(wininet)
  151. DECLARE_PROCNAME_MAP(wininet)
  152. DECLARE_PROCNAME_MAP(winmm)
  153. DECLARE_PROCNAME_MAP(winscard)
  154. DECLARE_ORDINAL_MAP(winspool)
  155. DECLARE_PROCNAME_MAP(winspool)
  156. DECLARE_PROCNAME_MAP(winsta)
  157. DECLARE_PROCNAME_MAP(wintrust)
  158. DECLARE_ORDINAL_MAP(wldap32)
  159. DECLARE_PROCNAME_MAP(wmi)
  160. DECLARE_PROCNAME_MAP(wmvcore)
  161. DECLARE_ORDINAL_MAP(ws2_32)
  162. DECLARE_PROCNAME_MAP(ws2_32)
  163. DECLARE_PROCNAME_MAP(wtsapi32)
  164. DECLARE_PROCNAME_MAP(wzcdlg)
  165. DECLARE_ORDINAL_MAP(wzcsapi)
  166. DECLARE_PROCNAME_MAP(wzcsapi)
  167. DECLARE_PROCNAME_MAP(xolehlp)
  168. const DLOAD_DLL_ENTRY g_DllEntries [] =
  169. {
  170. // alphabetical order (hint hint)
  171. DLDENTRYO(aclui)
  172. DLDENTRYO(activeds)
  173. DLDENTRYP(advapi32)
  174. DLDENTRYP(advpack)
  175. DLDENTRYP(apphelp)
  176. DLDENTRYP(authz)
  177. DLDENTRYO(browseui)
  178. DLDENTRYO(cabinet)
  179. DLDENTRYP(catsrv)
  180. DLDENTRYP(catsrvut)
  181. DLDENTRYP(cdfview)
  182. DLDENTRYB(certcli)
  183. DLDENTRYP(clbcatq)
  184. DLDENTRYP(colbact)
  185. DLDENTRYB(comctl32)
  186. DLDENTRYP(comdlg32)
  187. DLDENTRYP(comres)
  188. DLDENTRYP(comsvcs)
  189. DLDENTRYP(credui)
  190. DLDENTRYP(crypt32)
  191. DLDENTRYP(cryptui)
  192. DLDENTRYO(cscdll)
  193. DLDENTRYP(dbghelp)
  194. DLDENTRYP(ddraw)
  195. DLDENTRYO(devmgr)
  196. DLDENTRYP(dhcpcsvc)
  197. DLDENTRYP(dnsapi)
  198. DLDENTRYO(dsound)
  199. DLDENTRYP(duser)
  200. DLDENTRYP(efsadu)
  201. DLDENTRYP(esent)
  202. DLDENTRYP(fxsapi)
  203. DLDENTRYP(gdi32)
  204. DLDENTRYP(gdiplus)
  205. DLDENTRYO(hlink)
  206. DLDENTRYP(iashlpr)
  207. DLDENTRYP(imagehlp)
  208. DLDENTRYP(imgutil)
  209. DLDENTRYP(imm32)
  210. DLDENTRYP(inetcomm)
  211. DLDENTRYP(iphlpapi)
  212. DLDENTRYP(kdcsvc)
  213. DLDENTRYP(keymgr)
  214. DLDENTRYP(linkinfo)
  215. DLDENTRYP(loadperf)
  216. DLDENTRYP(lsasrv)
  217. DLDENTRYP(lz32)
  218. DLDENTRYO(mlang)
  219. DLDENTRYP(mobsync)
  220. DLDENTRYP(mpr)
  221. DLDENTRYP(mprapi)
  222. DLDENTRYP(mprui)
  223. DLDENTRYP(mqrt)
  224. DLDENTRYP(msacm32)
  225. DLDENTRYP(mscat32)
  226. DLDENTRYO(msgina)
  227. DLDENTRYP(mshtml)
  228. DLDENTRYO(msi)
  229. DLDENTRYP(msimg32)
  230. DLDENTRYP(msjava)
  231. DLDENTRYP(msrating)
  232. DLDENTRYP(mssign32)
  233. DLDENTRYP(mswsock)
  234. DLDENTRYP(mtxclu)
  235. DLDENTRYP(netapi32)
  236. DLDENTRYP(netcfgx)
  237. DLDENTRYP(netman)
  238. DLDENTRYP(netplwiz)
  239. DLDENTRYP(netrap)
  240. DLDENTRYP(netshell)
  241. DLDENTRYP(ntdsa)
  242. DLDENTRYP(ntdsapi)
  243. DLDENTRYP(ntdsbsrv)
  244. DLDENTRYP(ntdsetup)
  245. DLDENTRYP(ntdskcc)
  246. DLDENTRYP(ntlanman)
  247. DLDENTRYP(ntlsapi)
  248. DLDENTRYP(ntmarta)
  249. DLDENTRYP(ntshrui)
  250. DLDENTRYP(ocmanage)
  251. DLDENTRYO(odbc32)
  252. DLDENTRYP(ole32)
  253. DLDENTRYP(oleacc)
  254. DLDENTRYO(oleaut32)
  255. DLDENTRYP(pautoenr)
  256. DLDENTRYO(pidgen)
  257. DLDENTRYP(powrprof)
  258. DLDENTRYP(printui)
  259. DLDENTRYP(pstorec)
  260. DLDENTRYP(query)
  261. DLDENTRYP(rasapi32)
  262. DLDENTRYP(rasdlg)
  263. DLDENTRYP(rasman)
  264. DLDENTRYP(regapi)
  265. DLDENTRYP(rpcrt4)
  266. DLDENTRYP(rtutils)
  267. DLDENTRYP(samlib)
  268. DLDENTRYP(samsrv)
  269. DLDENTRYP(scecli)
  270. DLDENTRYP(secur32)
  271. DLDENTRYP(setupapi)
  272. DLDENTRYB(sfc)
  273. DLDENTRYP(sfmapi)
  274. DLDENTRYB(shdocvw)
  275. DLDENTRYB(shell32)
  276. DLDENTRYB(shlwapi)
  277. DLDENTRYO(shsvcs)
  278. DLDENTRYP(sti)
  279. DLDENTRYP(syssetup)
  280. DLDENTRYP(tapi32)
  281. DLDENTRYP(urlmon)
  282. DLDENTRYP(user32)
  283. DLDENTRYB(userenv)
  284. DLDENTRYP(usp10)
  285. DLDENTRYP(utildll)
  286. DLDENTRYB(uxtheme)
  287. DLDENTRYP(version)
  288. DLDENTRYP(w32topl)
  289. DLDENTRYP(winhttp)
  290. DLDENTRYB(wininet)
  291. DLDENTRYP(winmm)
  292. DLDENTRYP(winscard)
  293. DLDENTRYB_DRV(winspool)
  294. DLDENTRYP(winsta)
  295. DLDENTRYP(wintrust)
  296. DLDENTRYO(wldap32)
  297. DLDENTRYP(wmi)
  298. DLDENTRYP(wmvcore)
  299. DLDENTRYB(ws2_32)
  300. DLDENTRYP(wtsapi32)
  301. DLDENTRYP(wzcdlg)
  302. DLDENTRYB(wzcsapi)
  303. DLDENTRYP(xolehlp)
  304. };
  305. const DLOAD_DLL_MAP g_DllMap =
  306. {
  307. celems(g_DllEntries),
  308. g_DllEntries
  309. };