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.

1284 lines
33 KiB

  1. ;;/*++++++++++++++++++++++++++++++++++++++++++++++++++
  2. ;;
  3. ;; Copyright (c) 2000-2001, Microsoft Corporation All rights reserved.
  4. ;;
  5. ;; Module Name:
  6. ;;
  7. ;; unicows.tpl
  8. ;;
  9. ;; Abstract:
  10. ;;
  11. ;; This file creates both failure.c and failure.h from the original
  12. ;; unicode API list (apilistw.lst). For custom EFuncs, see the
  13. ;; comments below near BroadcastSystemMessageW
  14. ;;
  15. ;; Revision History:
  16. ;;
  17. ;; 20 Feb 2001 v-michka Created.
  18. ;;
  19. ;;-------------------------------------------------*/
  20. ; // This template is a [Code] template. It is expanded by genthnk once
  21. ; // via the -cTemplateName command-line option. Stuff inside the Begin=
  22. ; // End= section is C code or genthnk macros which are prefixed by an 'at' char.
  23. [Code]
  24. TemplateName=FailWrapperHeaders
  25. Begin=
  26. @NoFormat(
  27. /*++
  28. Copyright (c) 2000-2001, Microsoft Corporation All rights reserved.
  29. Module Name:
  30. failure.h Header file for failure.c (failure functions for Godot
  31. Abstract:
  32. Auto-generated file that contains the failure cases for
  33. the Godot hooks.
  34. WARNING: Do not edit! This file is auto-generated by genthnk.
  35. See failure.tpl if you want to make changes.
  36. Revision History:
  37. 19 Feb 2001 v-michka Created.
  38. --*/
  39. #define SECURITY_WIN32
  40. #include <windows.h> // We always need a windows.h
  41. #include <ras.h> // for the RAS functions and constants
  42. #include <raserror.h> // for RAS errors
  43. #include <ddeml.h> // for HSZ, etc in DDEML calls.
  44. #include <dbt.h> // for RegisterDeviceNotification info
  45. #include <Commdlg.h> // for common dialogs
  46. #include <shellapi.h> // for shell API calls
  47. #include <shlobj.h> // for the rest of the shell APIs
  48. #include <sensapi.h> // for IsDestinationReachable defs
  49. #include <oledlg.h> // OLE UI definitions
  50. #include <vfw.h> // for capCreateCaptureWindow
  51. #include <oleacc.h> // Accessibility
  52. #include <winspool.h> // print spooler definitions
  53. #include <ntsecapi.h> // security API return types
  54. #include <security.h> // Used for security APIs
  55. // include one special forward declare
  56. FARPROC GetProcAddressInternal(HINSTANCE hDll, PCHAR szName);
  57. #define FAIL_TEMPLATE_HEADER // Let the world know we are in the header
  58. @Template(FailHeaderTemplates)
  59. End=
  60. ; // This template is a [Code] template. It is expanded by genthnk once
  61. ; // via the -cTemplateName command-line option. Stuff inside the Begin=
  62. ; // End= section is C code or genthnk macros which are prefixed by an 'at' char.
  63. [Code]
  64. TemplateName=FailWrappers
  65. Begin=
  66. @NoFormat(
  67. /*++
  68. Copyright (c) 2000-2001, Microsoft Corporation All rights reserved.
  69. Module Name:
  70. failure.c (Windows 9x Unicode wrapper failure functions)
  71. Abstract:
  72. Auto-generated file that contains the failure cases for
  73. the Godot hooks.
  74. WARNING: Do not edit! This file is auto-generated by genthnk.
  75. See failure.tpl if you want to make changes.
  76. Revision History:
  77. 19 Feb 2001 v-michka Created.
  78. --*/
  79. #include "failure.h" // forward declares for this file
  80. #undef FAIL_TEMPLATE_HEADER // Let the world know we are not in the header
  81. @Template(FailTemplates)
  82. )
  83. End=
  84. [Macros]
  85. MacroName=ExpandFailure
  86. NumArgs=0
  87. Begin=
  88. SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
  89. return @IfApiRet(@RetType(Fail));
  90. End=
  91. ; //
  92. ; // This template is an [IFunc] template. It is expanded once for each API.
  93. ; // Macros:
  94. ; // ApiName - the name of the API
  95. ; // ArgList() - expands the contents for each argument to the API
  96. ; // ListCol - text formatting - makes a nice column
  97. ; // ArgMod - type modifier like const/volatile
  98. ; // ArgType - type of the argument
  99. ; // ArgName - name of the argument (genthnk will assign a name if the prototype didn't name the arg)
  100. ; // ArgMore() - expands iff there are more args after the current one
  101. ; // IfApiRet() - expands iff the return type of the API is non-void
  102. ; // ApiFnRet - return type of the API
  103. ; // Types() - expands any applicable parts of [Types] templates
  104. ; // IfApiCode() - expands any applicable parts of [EFunc] templates
  105. ; //
  106. [IFunc]
  107. TemplateName=FailTemplates
  108. Begin=
  109. @ApiFnRet @ApiFnMod
  110. GodotFail@ApiName(@ArgList(@ListCol@ArgMod @ArgType @ArgName@ArgMore(,)))
  111. {
  112. @ExpandFailure
  113. }
  114. End=
  115. [IFunc]
  116. TemplateName=FailHeaderTemplates
  117. Begin=
  118. @ApiFnRet @ApiFnMod
  119. GodotFail@ApiName(@ArgList(@ListCol@ArgMod @ArgType @ArgName@ArgMore(,)));
  120. End=
  121. ; // These templates are [Types] templates. They are expanded whenever
  122. ; // an API argument type matches.
  123. [Types]
  124. TemplateName=BOOL
  125. IndLevel=0
  126. Fail=
  127. FALSE
  128. End=
  129. TemplateName=DWORD
  130. Also=int
  131. IndLevel=0
  132. Fail=
  133. 0
  134. End=
  135. TemplateName=void
  136. IndLevel=1
  137. Fail=
  138. NULL
  139. End=
  140. TemplateName=LPVOID
  141. Also=LPCVOID
  142. Also=PVOID
  143. Also=LPWSTR
  144. Also=HKL
  145. Also=HMETAFILE
  146. Also=HENHMETAFILE
  147. IndLevel=0
  148. Fail=
  149. NULL
  150. End=
  151. TemplateName=RPC_STATUS
  152. Fail=
  153. STATUS_ACCESS_DENIED
  154. End=
  155. TemplateName=HCONVLIST
  156. Also=HCONV
  157. Also=HSZ
  158. Also=HDDEDATA
  159. Also=HIMCC
  160. Also=HDRVR
  161. Also=HWAVE
  162. Also=HWAVEIN
  163. Also=HWAVEOUT
  164. Also=HMIDI
  165. Also=HMIDIIN
  166. Also=HMIDIOUT
  167. Also=HMIDISTRM
  168. Also=HMIXEROBJ
  169. Also=HMIXER
  170. Also=HMMIO
  171. Also=HMONITOR
  172. Also=HRASCONN
  173. Also=HDROP
  174. Also=HGDIOBJ
  175. Also=HACCEL
  176. Also=HBITMAP
  177. Also=HBRUSH
  178. Also=HCOLORSPACE
  179. Also=HGLRC
  180. Also=HDESK
  181. IndLevel=0
  182. Fail=
  183. NULL
  184. End=
  185. TemplateName=HFONT
  186. Also=HICON
  187. Also=HMENU
  188. Also=HINSTANCE
  189. Also=HPALETTE
  190. Also=HPEN
  191. Also=HRGN
  192. Also=HRSRC
  193. Also=HSTR
  194. Also=HTASK
  195. Also=HWINSTA
  196. Also=HWINEVENTHOOK
  197. Also=HCURSOR
  198. Also=HKEY
  199. Also=HMODULE
  200. Also=HGLOBAL
  201. Also=HLOCAL
  202. Also=HRSRC
  203. ALSO=LPMMIOPROC
  204. IndLevel=0
  205. Fail=
  206. NULL
  207. End=
  208. TemplateName=HRESULT
  209. IndLevel=0
  210. Fail=
  211. E_NOTIMPL
  212. End=
  213. TemplateName=HANDLE
  214. IndLevel=0
  215. Fail=
  216. INVALID_HANDLE_VALUE
  217. End=
  218. TemplateName=HWND
  219. IndLevel=0
  220. Fail=
  221. (HWND)NULL
  222. End=
  223. TemplateName=FARPROC
  224. IndLevel=0
  225. Fail=
  226. (FARPROC)NULL
  227. End=
  228. TemplateName=HHOOK
  229. IndLevel=0
  230. Fail=
  231. (HHOOK)NULL
  232. End=
  233. TemplateName=HDC
  234. IndLevel=0
  235. Fail=
  236. (HDC)NULL
  237. End=
  238. TemplateName=HFILE
  239. IndLevel=0
  240. Fail=
  241. HFILE_ERROR
  242. End=
  243. TemplateName=ATOM
  244. IndLevel=0
  245. Fail=
  246. INVALID_ATOM
  247. End=
  248. TemplateName=LPITEMIDLIST
  249. IndLevel=0
  250. Fail=
  251. NULL
  252. End=
  253. TemplateName=SECURITY_STATUS
  254. Fail=
  255. SEC_E_UNSUPPORTED_FUNCTION
  256. End=
  257. TemplateName=PSecurityFunctionTableW
  258. Fail=
  259. NULL
  260. End=
  261. ;// This is a typical override function. Note that in order to satisfy
  262. ;// the genthnk requirement that always makes Begin=/End= override
  263. ;// Fail=/End=, we have to use the hacky FAIL_TEMPLATE_HEADER ifdef.
  264. ;// The forward declare for failure.h should be placed in the #ifdef,
  265. ;// while the function itself should be placed in the #else. Not ideal,
  266. ;// but this is better than creating yet a third template file.
  267. [EFunc]
  268. TemplateName=BroadcastSystemMessageW
  269. Begin=
  270. #ifdef FAIL_TEMPLATE_HEADER
  271. long __stdcall GodotFailBroadcastSystemMessageW(DWORD _p1, LPDWORD _p2, UINT _p3, WPARAM _p4, LPARAM _p5);
  272. #else
  273. long __stdcall GodotFailBroadcastSystemMessageW(DWORD _p1, LPDWORD _p2, UINT _p3, WPARAM _p4, LPARAM _p5)
  274. {
  275. SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
  276. return(-1);
  277. }
  278. #endif // FAIL_TEMPLATE_HEADER
  279. End=
  280. [EFunc]
  281. TemplateName=ChangeDisplaySettingsW
  282. Begin=
  283. #ifdef FAIL_TEMPLATE_HEADER
  284. LONG __stdcall GodotFailChangeDisplaySettingsW(LPDEVMODEW _p1, DWORD _p2);
  285. #else
  286. LONG __stdcall GodotFailChangeDisplaySettingsW(LPDEVMODEW _p1, DWORD _p2)
  287. {
  288. SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
  289. return(DISP_CHANGE_FAILED);
  290. }
  291. #endif // FAIL_TEMPLATE_HEADER
  292. End=
  293. [EFunc]
  294. TemplateName=ChangeDisplaySettingsExW
  295. Begin=
  296. #ifdef FAIL_TEMPLATE_HEADER
  297. LONG __stdcall GodotFailChangeDisplaySettingsExW(LPCWSTR _p1, LPDEVMODEW _p2, HWND _p3, DWORD _p4, LPVOID _p5);
  298. #else
  299. LONG __stdcall GodotFailChangeDisplaySettingsExW(LPCWSTR _p1, LPDEVMODEW _p2, HWND _p3, DWORD _p4, LPVOID _p5)
  300. {
  301. SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
  302. return(DISP_CHANGE_FAILED);
  303. }
  304. #endif // FAIL_TEMPLATE_HEADER
  305. End=
  306. [EFunc]
  307. TemplateName=CharNextW
  308. Begin=
  309. #ifdef FAIL_TEMPLATE_HEADER
  310. LPWSTR __stdcall GodotFailCharNextW(LPCWSTR _p1);
  311. #else
  312. LPWSTR __stdcall GodotFailCharNextW(LPCWSTR _p1)
  313. {
  314. SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
  315. return(L"\0");
  316. }
  317. #endif // FAIL_TEMPLATE_HEADER
  318. End=
  319. [EFunc]
  320. TemplateName=DdeConnect
  321. Begin=
  322. #ifdef FAIL_TEMPLATE_HEADER
  323. HCONV __stdcall GodotFailDdeConnect(DWORD _p1, HSZ _p2, HSZ _p3, PCONVCONTEXT _p4);
  324. #else
  325. HCONV __stdcall GodotFailDdeConnect(DWORD _p1, HSZ _p2, HSZ _p3, PCONVCONTEXT _p4)
  326. {
  327. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("user32.dll"), "DdeConnect");
  328. if(lpfn)
  329. return((HCONV)(* lpfn)(_p1, _p2, _p3, _p4));
  330. SetLastError(ERROR_PROC_NOT_FOUND);
  331. return(0L);
  332. }
  333. #endif // FAIL_TEMPLATE_HEADER
  334. End=
  335. [EFunc]
  336. TemplateName=DdeConnectList
  337. Begin=
  338. #ifdef FAIL_TEMPLATE_HEADER
  339. HCONVLIST __stdcall GodotFailDdeConnectList(DWORD _p1, HSZ _p2, HSZ _p3, HCONVLIST _p4, PCONVCONTEXT _p5);
  340. #else
  341. HCONVLIST __stdcall GodotFailDdeConnectList(DWORD _p1, HSZ _p2, HSZ _p3, HCONVLIST _p4, PCONVCONTEXT _p5)
  342. {
  343. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("user32.dll"), "DdeConnectList");
  344. if(lpfn)
  345. return((HCONVLIST)(* lpfn)(_p1, _p2, _p3, _p4, _p5));
  346. SetLastError(ERROR_PROC_NOT_FOUND);
  347. return(0L);
  348. }
  349. #endif // FAIL_TEMPLATE_HEADER
  350. End=
  351. [EFunc]
  352. TemplateName=DdeQueryConvInfo
  353. Begin=
  354. #ifdef FAIL_TEMPLATE_HEADER
  355. UINT __stdcall GodotFailDdeQueryConvInfo(HCONV _p1, DWORD _p2, PCONVINFO _p3);
  356. #else
  357. UINT __stdcall GodotFailDdeQueryConvInfo(HCONV _p1, DWORD _p2, PCONVINFO _p3)
  358. {
  359. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("user32.dll"), "DdeQueryConvInfo");
  360. if(lpfn)
  361. return((UINT)(* lpfn)(_p1, _p2, _p3));
  362. SetLastError(ERROR_PROC_NOT_FOUND);
  363. return(FALSE);
  364. }
  365. #endif // FAIL_TEMPLATE_HEADER
  366. End=
  367. [EFunc]
  368. TemplateName=EnableWindow
  369. Begin=
  370. #ifdef FAIL_TEMPLATE_HEADER
  371. BOOL __stdcall GodotFailEnableWindow(HWND _p1, BOOL _p2);
  372. #else
  373. BOOL __stdcall GodotFailEnableWindow(HWND _p1, BOOL _p2)
  374. {
  375. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("user32.dll"), "EnableWindow");
  376. if(lpfn)
  377. return((BOOL)(* lpfn)(_p1, _p2));
  378. SetLastError(ERROR_PROC_NOT_FOUND);
  379. return(FALSE);
  380. }
  381. #endif // FAIL_TEMPLATE_HEADER
  382. End=
  383. [EFunc]
  384. TemplateName=EnumClipboardFormats
  385. Begin=
  386. #ifdef FAIL_TEMPLATE_HEADER
  387. UINT __stdcall GodotFailEnumClipboardFormats(UINT _p1);
  388. #else
  389. UINT __stdcall GodotFailEnumClipboardFormats(UINT _p1)
  390. {
  391. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("user32.dll"), "EnumClipboardFormats");
  392. if(lpfn)
  393. return((UINT)(* lpfn)(_p1));
  394. SetLastError(ERROR_PROC_NOT_FOUND);
  395. return(0);
  396. }
  397. #endif // FAIL_TEMPLATE_HEADER
  398. End=
  399. [EFunc]
  400. TemplateName=EnumPropsA
  401. Begin=
  402. #ifdef FAIL_TEMPLATE_HEADER
  403. int __stdcall GodotFailEnumPropsA(HWND _p1, PROPENUMPROCA _p2);
  404. #else
  405. int __stdcall GodotFailEnumPropsA(HWND _p1, PROPENUMPROCA _p2)
  406. {
  407. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("user32.dll"), "EnumPropsA");
  408. if(lpfn)
  409. return((int)(* lpfn)(_p1, _p2));
  410. SetLastError(ERROR_PROC_NOT_FOUND);
  411. return(-1);
  412. }
  413. #endif // FAIL_TEMPLATE_HEADER
  414. End=
  415. [EFunc]
  416. TemplateName=EnumPropsExA
  417. Begin=
  418. #ifdef FAIL_TEMPLATE_HEADER
  419. int __stdcall GodotFailEnumPropsExA(HWND _p1, PROPENUMPROCEXA _p2, LPARAM _p3);
  420. #else
  421. int __stdcall GodotFailEnumPropsExA(HWND _p1, PROPENUMPROCEXA _p2, LPARAM _p3)
  422. {
  423. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("user32.dll"), "EnumPropsExA");
  424. if(lpfn)
  425. return((int)(* lpfn)(_p1, _p2, _p3));
  426. SetLastError(ERROR_PROC_NOT_FOUND);
  427. return(-1);
  428. }
  429. #endif // FAIL_TEMPLATE_HEADER
  430. End=
  431. [EFunc]
  432. TemplateName=ExtTextOutW
  433. Begin=
  434. #ifdef FAIL_TEMPLATE_HEADER
  435. BOOL __stdcall GodotFailExtTextOutW(HDC _p1, int _p2, int _p3, UINT _p4, const LPRECT _p5,
  436. LPCWSTR _p6, UINT _p7, const PINT _p8);
  437. #else
  438. BOOL __stdcall GodotFailExtTextOutW(HDC _p1, int _p2, int _p3, UINT _p4, const LPRECT _p5,
  439. LPCWSTR _p6, UINT _p7, const PINT _p8)
  440. {
  441. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("gdi32.dll"), "ExtTextOutW");
  442. if(lpfn)
  443. return((BOOL)(* lpfn)(_p1, _p2, _p3, _p4, _p5, _p6, _p7, _p8));
  444. SetLastError(ERROR_PROC_NOT_FOUND);
  445. return(FALSE);
  446. }
  447. #endif // FAIL_TEMPLATE_HEADER
  448. End=
  449. [EFunc]
  450. TemplateName=FindResourceW
  451. Begin=
  452. #ifdef FAIL_TEMPLATE_HEADER
  453. HRSRC __stdcall GodotFailFindResourceW(HMODULE _p1, LPCWSTR _p2, LPCWSTR _p3);
  454. #else
  455. HRSRC __stdcall GodotFailFindResourceW(HMODULE _p1, LPCWSTR _p2, LPCWSTR _p3)
  456. {
  457. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("kernel32.dll"), "FindResourceW");
  458. if(lpfn)
  459. return((HRSRC)(* lpfn)(_p1, _p2, _p3));
  460. SetLastError(ERROR_PROC_NOT_FOUND);
  461. return(0);
  462. }
  463. #endif // FAIL_TEMPLATE_HEADER
  464. End=
  465. [EFunc]
  466. TemplateName=FindResourceExW
  467. Begin=
  468. #ifdef FAIL_TEMPLATE_HEADER
  469. HRSRC __stdcall GodotFailFindResourceExW(HMODULE _p1, LPCWSTR _p2, LPCWSTR _p3, WORD _p4);
  470. #else
  471. HRSRC __stdcall GodotFailFindResourceExW(HMODULE _p1, LPCWSTR _p2, LPCWSTR _p3, WORD _p4)
  472. {
  473. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("kernel32.dll"), "FindResourceExW");
  474. if(lpfn)
  475. return((HRSRC)(* lpfn)(_p1, _p2, _p3, _p4));
  476. SetLastError(ERROR_PROC_NOT_FOUND);
  477. return(0);
  478. }
  479. #endif // FAIL_TEMPLATE_HEADER
  480. End=
  481. [EFunc]
  482. TemplateName=FreeContextBuffer
  483. Begin=
  484. #ifdef FAIL_TEMPLATE_HEADER
  485. SECURITY_STATUS __stdcall GodotFreeContextBuffer(void * _p1);
  486. #else
  487. SECURITY_STATUS __stdcall GodotFreeContextBuffer(void * _p1)
  488. {
  489. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("secur32.dll"), "FreeContextBuffer");
  490. if(lpfn)
  491. return((SECURITY_STATUS)(* lpfn)(_p1));
  492. return(SEC_E_UNSUPPORTED_FUNCTION);
  493. }
  494. #endif // FAIL_TEMPLATE_HEADER
  495. End=
  496. [EFunc]
  497. TemplateName=GetCharWidthW
  498. Begin=
  499. #ifdef FAIL_TEMPLATE_HEADER
  500. BOOL __stdcall GodotFailGetCharWidthW(HDC _p1, UINT _p2, UINT _p3, LPINT _p4);
  501. #else
  502. BOOL __stdcall GodotFailGetCharWidthW(HDC _p1, UINT _p2, UINT _p3, LPINT _p4)
  503. {
  504. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("gdi32.dll"), "GetCharWidthW");
  505. if(lpfn)
  506. return((BOOL)(* lpfn)(_p1, _p2, _p3, _p4));
  507. SetLastError(ERROR_PROC_NOT_FOUND);
  508. return(FALSE);
  509. }
  510. #endif // FAIL_TEMPLATE_HEADER
  511. End=
  512. [EFunc]
  513. TemplateName=GetClipboardData
  514. Begin=
  515. #ifdef FAIL_TEMPLATE_HEADER
  516. HANDLE __stdcall GodotFailGetClipboardData(UINT _p1);
  517. #else
  518. HANDLE __stdcall GodotFailGetClipboardData(UINT _p1)
  519. {
  520. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("user32.dll"), "GetClipboardData");
  521. if(lpfn)
  522. return((HANDLE)(* lpfn)(_p1));
  523. SetLastError(ERROR_PROC_NOT_FOUND);
  524. return(0);
  525. }
  526. #endif // FAIL_TEMPLATE_HEADER
  527. End=
  528. [EFunc]
  529. TemplateName=GetCPInfo
  530. Begin=
  531. #ifdef FAIL_TEMPLATE_HEADER
  532. BOOL __stdcall GodotFailGetCPInfo(UINT _p1, LPCPINFO _p2);
  533. #else
  534. BOOL __stdcall GodotFailGetCPInfo(UINT _p1, LPCPINFO _p2)
  535. {
  536. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("kernel32.dll"), "GetCPInfo");
  537. if(lpfn)
  538. return((BOOL)(* lpfn)(_p1, _p2));
  539. SetLastError(ERROR_PROC_NOT_FOUND);
  540. return(FALSE);
  541. }
  542. #endif // FAIL_TEMPLATE_HEADER
  543. End=
  544. [EFunc]
  545. TemplateName=GetProcAddress
  546. Begin=
  547. #ifdef FAIL_TEMPLATE_HEADER
  548. FARPROC __stdcall GodotFailGetProcAddress(HMODULE _p1, LPCSTR _p2);
  549. #else
  550. FARPROC __stdcall GodotFailGetProcAddress(HMODULE _p1, LPCSTR _p2)
  551. {
  552. return(GetProcAddressInternal(_p1, (LPSTR)_p2));
  553. }
  554. #endif // FAIL_TEMPLATE_HEADER
  555. End=
  556. [EFunc]
  557. TemplateName=GetPropA
  558. Begin=
  559. #ifdef FAIL_TEMPLATE_HEADER
  560. HANDLE __stdcall GodotFailGetPropA(HWND _p1, LPCSTR _p2);
  561. #else
  562. HANDLE __stdcall GodotFailGetPropA(HWND _p1, LPCSTR _p2)
  563. {
  564. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("user32.dll"), "GetPropA");
  565. if(lpfn)
  566. return((HANDLE)(* lpfn)(_p1, _p2));
  567. SetLastError(ERROR_PROC_NOT_FOUND);
  568. return(NULL);
  569. }
  570. #endif // FAIL_TEMPLATE_HEADER
  571. End=
  572. [EFunc]
  573. TemplateName=GetTextExtentPointW
  574. Begin=
  575. #ifdef FAIL_TEMPLATE_HEADER
  576. BOOL __stdcall GodotFailGetTextExtentPointW(HDC _p1, LPCWSTR _p2, int _p3, LPSIZE _p4);
  577. #else
  578. BOOL __stdcall GodotFailGetTextExtentPointW(HDC _p1, LPCWSTR _p2, int _p3, LPSIZE _p4)
  579. {
  580. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("gdi32.dll"), "GetTextExtentPointW");
  581. if(lpfn)
  582. return((BOOL)(* lpfn)(_p1, _p2, _p3, _p4));
  583. SetLastError(ERROR_PROC_NOT_FOUND);
  584. return(FALSE);
  585. }
  586. #endif // FAIL_TEMPLATE_HEADER
  587. End=
  588. [EFunc]
  589. TemplateName=GetTextExtentPoint32W
  590. Begin=
  591. #ifdef FAIL_TEMPLATE_HEADER
  592. BOOL __stdcall GodotFailGetTextExtentPoint32W(HDC _p1, LPCWSTR _p2, int _p3, LPSIZE _p4);
  593. #else
  594. BOOL __stdcall GodotFailGetTextExtentPoint32W(HDC _p1, LPCWSTR _p2, int _p3, LPSIZE _p4)
  595. {
  596. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("gdi32.dll"), "GetTextExtentPoint32W");
  597. if(lpfn)
  598. return((BOOL)(* lpfn)(_p1, _p2, _p3, _p4));
  599. SetLastError(ERROR_PROC_NOT_FOUND);
  600. return(FALSE);
  601. }
  602. #endif // FAIL_TEMPLATE_HEADER
  603. End=
  604. [EFunc]
  605. TemplateName=GetWindowLongA
  606. Begin=
  607. #ifdef FAIL_TEMPLATE_HEADER
  608. LONG __stdcall GodotFailGetWindowLongA(HWND _p1, int _p2);
  609. #else
  610. LONG __stdcall GodotFailGetWindowLongA(HWND _p1, int _p2)
  611. {
  612. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("user32.dll"), "GetWindowLongA");
  613. if(lpfn)
  614. return((LONG)(* lpfn)(_p1, _p2));
  615. SetLastError(ERROR_PROC_NOT_FOUND);
  616. return(0);
  617. }
  618. #endif // FAIL_TEMPLATE_HEADER
  619. End=
  620. [EFunc]
  621. TemplateName=IsClipboardFormatAvailable
  622. Begin=
  623. #ifdef FAIL_TEMPLATE_HEADER
  624. BOOL __stdcall GodotFailIsClipboardFormatAvailable(UINT _p1);
  625. #else
  626. BOOL __stdcall GodotFailIsClipboardFormatAvailable(UINT _p1)
  627. {
  628. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("user32.dll"), "IsClipboardFormatAvailable");
  629. if(lpfn)
  630. return((BOOL)(* lpfn)(_p1));
  631. SetLastError(ERROR_PROC_NOT_FOUND);
  632. return(FALSE);
  633. }
  634. #endif // FAIL_TEMPLATE_HEADER
  635. End=
  636. [EFunc]
  637. TemplateName=IsValidCodePage
  638. Begin=
  639. #ifdef FAIL_TEMPLATE_HEADER
  640. BOOL __stdcall GodotFailIsValidCodePage(UINT _p1);
  641. #else
  642. BOOL __stdcall GodotFailIsValidCodePage(UINT _p1)
  643. {
  644. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("kernel32.dll"), "IsValidCodePage");
  645. if(lpfn)
  646. return((BOOL)(* lpfn)(_p1));
  647. SetLastError(ERROR_PROC_NOT_FOUND);
  648. return(FALSE);
  649. }
  650. #endif // FAIL_TEMPLATE_HEADER
  651. End=
  652. [EFunc]
  653. TemplateName=IsWindowUnicode
  654. Begin=
  655. #ifdef FAIL_TEMPLATE_HEADER
  656. BOOL __stdcall GodotFailIsWindowUnicode(HWND _p1);
  657. #else
  658. BOOL __stdcall GodotFailIsWindowUnicode(HWND _p1)
  659. {
  660. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("user32.dll"), "IsWindowUnicode");
  661. if(lpfn)
  662. return((BOOL)(* lpfn)(_p1));
  663. SetLastError(ERROR_PROC_NOT_FOUND);
  664. return(FALSE);
  665. }
  666. #endif // FAIL_TEMPLATE_HEADER
  667. End=
  668. [EFunc]
  669. TemplateName=lstrcatW
  670. Begin=
  671. #ifdef FAIL_TEMPLATE_HEADER
  672. LPWSTR __stdcall GodotFaillstrcatW(LPWSTR _p1, LPCWSTR _p2);
  673. #else
  674. LPWSTR __stdcall GodotFaillstrcatW(LPWSTR _p1, LPCWSTR _p2)
  675. {
  676. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("kernel32.dll"), "lstrcatW");
  677. if(lpfn)
  678. return((LPWSTR)(* lpfn)(_p1, _p2));
  679. SetLastError(ERROR_PROC_NOT_FOUND);
  680. return(NULL);
  681. }
  682. #endif // FAIL_TEMPLATE_HEADER
  683. End=
  684. [EFunc]
  685. TemplateName=lstrcpyW
  686. Begin=
  687. #ifdef FAIL_TEMPLATE_HEADER
  688. LPWSTR __stdcall GodotFaillstrcpyW(LPWSTR _p1, LPCWSTR _p2);
  689. #else
  690. LPWSTR __stdcall GodotFaillstrcpyW(LPWSTR _p1, LPCWSTR _p2)
  691. {
  692. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("kernel32.dll"), "lstrcpyW");
  693. if(lpfn)
  694. return((LPWSTR)(* lpfn)(_p1, _p2));
  695. SetLastError(ERROR_PROC_NOT_FOUND);
  696. return(NULL);
  697. }
  698. #endif // FAIL_TEMPLATE_HEADER
  699. End=
  700. [EFunc]
  701. TemplateName=lstrlenW
  702. Begin=
  703. #ifdef FAIL_TEMPLATE_HEADER
  704. int __stdcall GodotFaillstrlenW(LPCWSTR _p1);
  705. #else
  706. int __stdcall GodotFaillstrlenW(LPCWSTR _p1)
  707. {
  708. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("kernel32.dll"), "lstrlenW");
  709. if(lpfn)
  710. return((int)(* lpfn)(_p1));
  711. SetLastError(ERROR_PROC_NOT_FOUND);
  712. return(0);
  713. }
  714. #endif // FAIL_TEMPLATE_HEADER
  715. End=
  716. [EFunc]
  717. TemplateName=MessageBoxW
  718. Begin=
  719. #ifdef FAIL_TEMPLATE_HEADER
  720. int __stdcall GodotFailMessageBoxW(HWND _p1, LPCWSTR _p2, LPCWSTR _p3, UINT _p4);
  721. #else
  722. int __stdcall GodotFailMessageBoxW(HWND _p1, LPCWSTR _p2, LPCWSTR _p3, UINT _p4)
  723. {
  724. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("user32.dll"), "MessageBoxW");
  725. if(lpfn)
  726. return((int)(* lpfn)(_p1, _p2, _p3, _p4));
  727. SetLastError(ERROR_PROC_NOT_FOUND);
  728. return(0);
  729. }
  730. #endif // FAIL_TEMPLATE_HEADER
  731. End=
  732. [EFunc]
  733. TemplateName=MessageBoxExW
  734. Begin=
  735. #ifdef FAIL_TEMPLATE_HEADER
  736. int __stdcall GodotFailMessageBoxExW(HWND _p1, LPCWSTR _p2, LPCWSTR _p3, UINT _p4, WORD _p5);
  737. #else
  738. int __stdcall GodotFailMessageBoxExW(HWND _p1, LPCWSTR _p2, LPCWSTR _p3, UINT _p4, WORD _p5)
  739. {
  740. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("user32.dll"), "MessageBoxExW");
  741. if(lpfn)
  742. return((int)(* lpfn)(_p1, _p2, _p3, _p4, _p5));
  743. SetLastError(ERROR_PROC_NOT_FOUND);
  744. return(0);
  745. }
  746. #endif // FAIL_TEMPLATE_HEADER
  747. End=
  748. [EFunc]
  749. TemplateName=mmioInstallIOProcW
  750. Begin=
  751. #ifdef FAIL_TEMPLATE_HEADER
  752. LPMMIOPROC __stdcall GodotFailmmioInstallIOProcW(FOURCC p1, LPMMIOPROC p2, DWORD p3);
  753. #else
  754. LPMMIOPROC __stdcall GodotFailmmioInstallIOProcW(FOURCC p1, LPMMIOPROC p2, DWORD p3)
  755. {
  756. SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
  757. return(NULL);
  758. }
  759. #endif // FAIL_TEMPLATE_HEADER
  760. End=
  761. [EFunc]
  762. TemplateName=MultiByteToWideChar
  763. Begin=
  764. #ifdef FAIL_TEMPLATE_HEADER
  765. int __stdcall GodotFailMultiByteToWideChar(UINT _p1, DWORD _p2, LPCSTR _p3, int _p4, LPWSTR _p5, int _p6);
  766. #else
  767. int __stdcall GodotFailMultiByteToWideChar(UINT _p1, DWORD _p2, LPCSTR _p3, int _p4, LPWSTR _p5, int _p6)
  768. {
  769. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("kernel32.dll"), "MultiByteToWideChar");
  770. if(lpfn)
  771. return((int)(* lpfn)(_p1, _p2, _p3, _p4, _p5, _p6));
  772. SetLastError(ERROR_PROC_NOT_FOUND);
  773. return(0);
  774. }
  775. #endif // FAIL_TEMPLATE_HEADER
  776. End=
  777. [EFunc]
  778. TemplateName=RegConnectRegistryW
  779. Begin=
  780. #ifdef FAIL_TEMPLATE_HEADER
  781. LONG __stdcall GodotFailRegConnectRegistryW(LPCWSTR _p1, HKEY _p2, PHKEY _p3);
  782. #else
  783. LONG __stdcall GodotFailRegConnectRegistryW(LPCWSTR _p1, HKEY _p2, PHKEY _p3)
  784. {
  785. return(ERROR_CALL_NOT_IMPLEMENTED);
  786. }
  787. #endif // FAIL_TEMPLATE_HEADER
  788. End=
  789. [EFunc]
  790. TemplateName=RegCreateKeyW
  791. Begin=
  792. #ifdef FAIL_TEMPLATE_HEADER
  793. LONG __stdcall GodotFailRegCreateKeyW(HKEY _p1, LPCWSTR _p2, PHKEY _p3);
  794. #else
  795. LONG __stdcall GodotFailRegCreateKeyW(HKEY _p1, LPCWSTR _p2, PHKEY _p3)
  796. {
  797. return(ERROR_CALL_NOT_IMPLEMENTED);
  798. }
  799. #endif // FAIL_TEMPLATE_HEADER
  800. End=
  801. [EFunc]
  802. TemplateName=RegCreateKeyExW
  803. Begin=
  804. #ifdef FAIL_TEMPLATE_HEADER
  805. LONG __stdcall GodotFailRegCreateKeyExW(HKEY _p1, LPCWSTR _p2, DWORD _p3, LPWSTR _p4, DWORD _p5, REGSAM _p6, LPSECURITY_ATTRIBUTES _p7, PHKEY _p8, LPDWORD _p9);
  806. #else
  807. LONG __stdcall GodotFailRegCreateKeyExW(HKEY _p1, LPCWSTR _p2, DWORD _p3, LPWSTR _p4, DWORD _p5, REGSAM _p6, LPSECURITY_ATTRIBUTES _p7, PHKEY _p8, LPDWORD _p9)
  808. {
  809. return(ERROR_CALL_NOT_IMPLEMENTED);
  810. }
  811. #endif // FAIL_TEMPLATE_HEADER
  812. End=
  813. [EFunc]
  814. TemplateName=RegDeleteKeyW
  815. Begin=
  816. #ifdef FAIL_TEMPLATE_HEADER
  817. LONG __stdcall GodotFailRegDeleteKeyW(HKEY _p1, LPCWSTR _p2);
  818. #else
  819. LONG __stdcall GodotFailRegDeleteKeyW(HKEY _p1, LPCWSTR _p2)
  820. {
  821. return(ERROR_CALL_NOT_IMPLEMENTED);
  822. }
  823. #endif // FAIL_TEMPLATE_HEADER
  824. End=
  825. [EFunc]
  826. TemplateName=RegDeleteValueW
  827. Begin=
  828. #ifdef FAIL_TEMPLATE_HEADER
  829. LONG __stdcall GodotFailRegDeleteValueW(HKEY _p1, LPCWSTR _p2);
  830. #else
  831. LONG __stdcall GodotFailRegDeleteValueW(HKEY _p1, LPCWSTR _p2)
  832. {
  833. return(ERROR_CALL_NOT_IMPLEMENTED);
  834. }
  835. #endif // FAIL_TEMPLATE_HEADER
  836. End=
  837. [EFunc]
  838. TemplateName=RegEnumKeyW
  839. Begin=
  840. #ifdef FAIL_TEMPLATE_HEADER
  841. LONG __stdcall GodotFailRegEnumKeyW(HKEY _p1, DWORD _p2, LPWSTR _p3, DWORD _p4);
  842. #else
  843. LONG __stdcall GodotFailRegEnumKeyW(HKEY _p1, DWORD _p2, LPWSTR _p3, DWORD _p4)
  844. {
  845. return(ERROR_CALL_NOT_IMPLEMENTED);
  846. }
  847. #endif // FAIL_TEMPLATE_HEADER
  848. End=
  849. [EFunc]
  850. TemplateName=RegEnumKeyExW
  851. Begin=
  852. #ifdef FAIL_TEMPLATE_HEADER
  853. LONG __stdcall GodotFailRegEnumKeyExW(HKEY _p1, DWORD _p2, LPWSTR _p3, LPDWORD _p4, LPDWORD _p5, LPWSTR _p6, LPDWORD _p7, PFILETIME _p8);
  854. #else
  855. LONG __stdcall GodotFailRegEnumKeyExW(HKEY _p1, DWORD _p2, LPWSTR _p3, LPDWORD _p4, LPDWORD _p5, LPWSTR _p6, LPDWORD _p7, PFILETIME _p8)
  856. {
  857. return(ERROR_CALL_NOT_IMPLEMENTED);
  858. }
  859. #endif // FAIL_TEMPLATE_HEADER
  860. End=
  861. [EFunc]
  862. TemplateName=RegEnumValueW
  863. Begin=
  864. #ifdef FAIL_TEMPLATE_HEADER
  865. LONG __stdcall GodotFailRegEnumValueW(HKEY _p1, DWORD _p2, LPWSTR _p3, LPDWORD _p4, LPDWORD _p5, LPDWORD _p6, LPBYTE _p7, LPDWORD _p8);
  866. #else
  867. LONG __stdcall GodotFailRegEnumValueW(HKEY _p1, DWORD _p2, LPWSTR _p3, LPDWORD _p4, LPDWORD _p5, LPDWORD _p6, LPBYTE _p7, LPDWORD _p8)
  868. {
  869. return(ERROR_CALL_NOT_IMPLEMENTED);
  870. }
  871. #endif // FAIL_TEMPLATE_HEADER
  872. End=
  873. [EFunc]
  874. TemplateName=RegLoadKeyW
  875. Begin=
  876. #ifdef FAIL_TEMPLATE_HEADER
  877. LONG __stdcall GodotFailRegLoadKeyW(HKEY _p1, LPCWSTR _p2, LPCWSTR _p3);
  878. #else
  879. LONG __stdcall GodotFailRegLoadKeyW(HKEY _p1, LPCWSTR _p2, LPCWSTR _p3)
  880. {
  881. return(ERROR_CALL_NOT_IMPLEMENTED);
  882. }
  883. #endif // FAIL_TEMPLATE_HEADER
  884. End=
  885. [EFunc]
  886. TemplateName=RegOpenKeyW
  887. Begin=
  888. #ifdef FAIL_TEMPLATE_HEADER
  889. LONG __stdcall GodotFailRegOpenKeyW(HKEY _p1, LPCWSTR _p2, PHKEY _p3);
  890. #else
  891. LONG __stdcall GodotFailRegOpenKeyW(HKEY _p1, LPCWSTR _p2, PHKEY _p3)
  892. {
  893. return(ERROR_CALL_NOT_IMPLEMENTED);
  894. }
  895. #endif // FAIL_TEMPLATE_HEADER
  896. End=
  897. [EFunc]
  898. TemplateName=RegOpenKeyExW
  899. Begin=
  900. #ifdef FAIL_TEMPLATE_HEADER
  901. LONG __stdcall GodotFailRegOpenKeyExW(HKEY _p1, LPCWSTR _p2, DWORD _p3, REGSAM _p4, PHKEY _p5);
  902. #else
  903. LONG __stdcall GodotFailRegOpenKeyExW(HKEY _p1, LPCWSTR _p2, DWORD _p3, REGSAM _p4, PHKEY _p5)
  904. {
  905. return(ERROR_CALL_NOT_IMPLEMENTED);
  906. }
  907. #endif // FAIL_TEMPLATE_HEADER
  908. End=
  909. [EFunc]
  910. TemplateName=RegQueryInfoKeyW
  911. Begin=
  912. #ifdef FAIL_TEMPLATE_HEADER
  913. LONG __stdcall GodotFailRegQueryInfoKeyW(HKEY _p1, LPWSTR _p2, LPDWORD _p3, LPDWORD _p4, LPDWORD _p5, LPDWORD _p6, LPDWORD _p7, LPDWORD _p8, LPDWORD _p9, LPDWORD _pA, LPDWORD _pB, PFILETIME _pC);
  914. #else
  915. LONG __stdcall GodotFailRegQueryInfoKeyW(HKEY _p1, LPWSTR _p2, LPDWORD _p3, LPDWORD _p4, LPDWORD _p5, LPDWORD _p6, LPDWORD _p7, LPDWORD _p8, LPDWORD _p9, LPDWORD _pA, LPDWORD _pB, PFILETIME _pC)
  916. {
  917. return(ERROR_CALL_NOT_IMPLEMENTED);
  918. }
  919. #endif // FAIL_TEMPLATE_HEADER
  920. End=
  921. [EFunc]
  922. TemplateName=RegQueryMultipleValuesW
  923. Begin=
  924. #ifdef FAIL_TEMPLATE_HEADER
  925. LONG __stdcall GodotFailRegQueryMultipleValuesW(HKEY _p1, PVALENTW _p2, DWORD _p3, LPWSTR _p4, LPDWORD _p5);
  926. #else
  927. LONG __stdcall GodotFailRegQueryMultipleValuesW(HKEY _p1, PVALENTW _p2, DWORD _p3, LPWSTR _p4, LPDWORD _p5)
  928. {
  929. return(ERROR_CALL_NOT_IMPLEMENTED);
  930. }
  931. #endif // FAIL_TEMPLATE_HEADER
  932. End=
  933. [EFunc]
  934. TemplateName=RegQueryValueW
  935. Begin=
  936. #ifdef FAIL_TEMPLATE_HEADER
  937. LONG __stdcall GodotFailRegQueryValueW(HKEY _p1, LPCWSTR _p2, LPWSTR _p3, PLONG _p4);
  938. #else
  939. LONG __stdcall GodotFailRegQueryValueW(HKEY _p1, LPCWSTR _p2, LPWSTR _p3, PLONG _p4)
  940. {
  941. return(ERROR_CALL_NOT_IMPLEMENTED);
  942. }
  943. #endif // FAIL_TEMPLATE_HEADER
  944. End=
  945. [EFunc]
  946. TemplateName=RegQueryValueExW
  947. Begin=
  948. #ifdef FAIL_TEMPLATE_HEADER
  949. LONG __stdcall GodotFailRegQueryValueExW(HKEY _p1, LPCWSTR _p2, LPDWORD _p3, LPDWORD _p4, LPBYTE _p5, LPDWORD _p6);
  950. #else
  951. LONG __stdcall GodotFailRegQueryValueExW(HKEY _p1, LPCWSTR _p2, LPDWORD _p3, LPDWORD _p4, LPBYTE _p5, LPDWORD _p6)
  952. {
  953. return(ERROR_CALL_NOT_IMPLEMENTED);
  954. }
  955. #endif // FAIL_TEMPLATE_HEADER
  956. End=
  957. [EFunc]
  958. TemplateName=RegReplaceKeyW
  959. Begin=
  960. #ifdef FAIL_TEMPLATE_HEADER
  961. LONG __stdcall GodotFailRegReplaceKeyW(HKEY _p1, LPCWSTR _p2, LPCWSTR _p3, LPCWSTR _p4);
  962. #else
  963. LONG __stdcall GodotFailRegReplaceKeyW(HKEY _p1, LPCWSTR _p2, LPCWSTR _p3, LPCWSTR _p4)
  964. {
  965. return(ERROR_CALL_NOT_IMPLEMENTED);
  966. }
  967. #endif // FAIL_TEMPLATE_HEADER
  968. End=
  969. [EFunc]
  970. TemplateName=RegSaveKeyW
  971. Begin=
  972. #ifdef FAIL_TEMPLATE_HEADER
  973. LONG __stdcall GodotFailRegSaveKeyW(HKEY _p1, LPCWSTR _p2, LPSECURITY_ATTRIBUTES _p3);
  974. #else
  975. LONG __stdcall GodotFailRegSaveKeyW(HKEY _p1, LPCWSTR _p2, LPSECURITY_ATTRIBUTES _p3)
  976. {
  977. return(ERROR_CALL_NOT_IMPLEMENTED);
  978. }
  979. #endif // FAIL_TEMPLATE_HEADER
  980. End=
  981. [EFunc]
  982. TemplateName=RegSetValueW
  983. Begin=
  984. #ifdef FAIL_TEMPLATE_HEADER
  985. LONG __stdcall GodotFailRegSetValueW(HKEY _p1, LPCWSTR _p2, DWORD _p3, LPCWSTR _p4, DWORD _p5);
  986. #else
  987. LONG __stdcall GodotFailRegSetValueW(HKEY _p1, LPCWSTR _p2, DWORD _p3, LPCWSTR _p4, DWORD _p5)
  988. {
  989. return(ERROR_CALL_NOT_IMPLEMENTED);
  990. }
  991. #endif // FAIL_TEMPLATE_HEADER
  992. End=
  993. [EFunc]
  994. TemplateName=RegSetValueExW
  995. Begin=
  996. #ifdef FAIL_TEMPLATE_HEADER
  997. LONG __stdcall GodotFailRegSetValueExW(HKEY _p1, LPCWSTR _p2, DWORD _p3, DWORD _p4, const BYTE * _p5, DWORD _p6);
  998. #else
  999. LONG __stdcall GodotFailRegSetValueExW(HKEY _p1, LPCWSTR _p2, DWORD _p3, DWORD _p4, const BYTE * _p5, DWORD _p6)
  1000. {
  1001. return(ERROR_CALL_NOT_IMPLEMENTED);
  1002. }
  1003. #endif // FAIL_TEMPLATE_HEADER
  1004. End=
  1005. [EFunc]
  1006. TemplateName=RegUnLoadKeyW
  1007. Begin=
  1008. #ifdef FAIL_TEMPLATE_HEADER
  1009. LONG __stdcall GodotFailRegUnLoadKeyW(HKEY _p1, LPCWSTR _p2);
  1010. #else
  1011. LONG __stdcall GodotFailRegUnLoadKeyW(HKEY _p1, LPCWSTR _p2)
  1012. {
  1013. return(ERROR_CALL_NOT_IMPLEMENTED);
  1014. }
  1015. #endif // FAIL_TEMPLATE_HEADER
  1016. End=
  1017. [EFunc]
  1018. TemplateName=RemovePropA
  1019. Begin=
  1020. #ifdef FAIL_TEMPLATE_HEADER
  1021. HANDLE __stdcall GodotFailRemovePropA(HWND _p1, LPCSTR _p2);
  1022. #else
  1023. HANDLE __stdcall GodotFailRemovePropA(HWND _p1, LPCSTR _p2)
  1024. {
  1025. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("user32.dll"), "RemovePropA");
  1026. if(lpfn)
  1027. return((HANDLE)(* lpfn)(_p1, _p2));
  1028. SetLastError(ERROR_PROC_NOT_FOUND);
  1029. return(NULL);
  1030. }
  1031. #endif // FAIL_TEMPLATE_HEADER
  1032. End=
  1033. [EFunc]
  1034. TemplateName=SetPropA
  1035. Begin=
  1036. #ifdef FAIL_TEMPLATE_HEADER
  1037. BOOL __stdcall GodotFailSetPropA(HWND _p1, LPCSTR _p2, HANDLE _p3);
  1038. #else
  1039. BOOL __stdcall GodotFailSetPropA(HWND _p1, LPCSTR _p2, HANDLE _p3)
  1040. {
  1041. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("user32.dll"), "SetPropA");
  1042. if(lpfn)
  1043. return((BOOL)(* lpfn)(_p1, _p2, _p3));
  1044. SetLastError(ERROR_PROC_NOT_FOUND);
  1045. return(FALSE);
  1046. }
  1047. #endif // FAIL_TEMPLATE_HEADER
  1048. End=
  1049. [EFunc]
  1050. TemplateName=SetWindowLongA
  1051. Begin=
  1052. #ifdef FAIL_TEMPLATE_HEADER
  1053. LONG __stdcall GodotFailSetWindowLongA(HWND _p1, int _p2, LONG _p3);
  1054. #else
  1055. LONG __stdcall GodotFailSetWindowLongA(HWND _p1, int _p2, LONG _p3)
  1056. {
  1057. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("user32.dll"), "SetWindowLongA");
  1058. if(lpfn)
  1059. return((LONG)(* lpfn)(_p1, _p2, _p3));
  1060. SetLastError(ERROR_PROC_NOT_FOUND);
  1061. return(0);
  1062. }
  1063. #endif // FAIL_TEMPLATE_HEADER
  1064. End=
  1065. [EFunc]
  1066. TemplateName=SHChangeNotify
  1067. Begin=
  1068. #ifdef FAIL_TEMPLATE_HEADER
  1069. void __stdcall GodotFailSHChangeNotify(LONG _p1, UINT _p2, LPCVOID _p3, LPCVOID _p4);
  1070. #else
  1071. void __stdcall GodotFailSHChangeNotify(LONG _p1, UINT _p2, LPCVOID _p3, LPCVOID _p4)
  1072. {
  1073. // We had better hope the shell has been loaded by now!
  1074. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("shell32.dll"), "SHChangeNotify");
  1075. if(lpfn)
  1076. (* lpfn)(_p1, _p2, _p3, _p4);
  1077. else
  1078. SetLastError(ERROR_PROC_NOT_FOUND);
  1079. return;
  1080. }
  1081. #endif // FAIL_TEMPLATE_HEADER
  1082. End=
  1083. [EFunc]
  1084. TemplateName=TextOutW
  1085. Begin=
  1086. #ifdef FAIL_TEMPLATE_HEADER
  1087. BOOL __stdcall GodotFailTextOutW(HDC _p1, int _p2, int _p3, LPCWSTR _p4, int _p5);
  1088. #else
  1089. BOOL __stdcall GodotFailTextOutW(HDC _p1, int _p2, int _p3, LPCWSTR _p4, int _p5)
  1090. {
  1091. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("gdi32.dll"), "TextOutW");
  1092. if(lpfn)
  1093. return((BOOL)(* lpfn)(_p1, _p2, _p3, _p4, _p5));
  1094. SetLastError(ERROR_PROC_NOT_FOUND);
  1095. return(FALSE);
  1096. }
  1097. #endif // FAIL_TEMPLATE_HEADER
  1098. End=
  1099. [EFunc]
  1100. TemplateName=wsprintfW
  1101. Begin=
  1102. #ifdef FAIL_TEMPLATE_HEADER
  1103. int _cdecl GodotFailwsprintfW(LPWSTR _p1, LPCWSTR _p2, ... );
  1104. #else
  1105. int _cdecl
  1106. GodotFailwsprintfW(LPWSTR _p1, LPCWSTR _p2, ... )
  1107. {
  1108. SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
  1109. return -1;
  1110. }
  1111. #endif // FAIL_TEMPLATE_HEADER
  1112. End=
  1113. [EFunc]
  1114. TemplateName=wvsprintfW
  1115. Begin=
  1116. #ifdef FAIL_TEMPLATE_HEADER
  1117. int __stdcall GodotFailwvsprintfW(LPWSTR _p1, LPCWSTR _p2, va_list _p3);
  1118. #else
  1119. int __stdcall GodotFailwvsprintfW(LPWSTR _p1, LPCWSTR _p2, va_list _p3)
  1120. {
  1121. SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
  1122. return -1;
  1123. }
  1124. #endif // FAIL_TEMPLATE_HEADER
  1125. End=
  1126. [EFunc]
  1127. TemplateName=WideCharToMultiByte
  1128. Begin=
  1129. #ifdef FAIL_TEMPLATE_HEADER
  1130. int __stdcall GodotFailWideCharToMultiByte(UINT _p1, DWORD _p2, LPCWSTR _p3, int _p4,
  1131. LPSTR _p5, int _p6, LPCSTR _p7, LPBOOL _p8);
  1132. #else
  1133. int __stdcall GodotFailWideCharToMultiByte(UINT _p1, DWORD _p2, LPCWSTR _p3, int _p4,
  1134. LPSTR _p5, int _p6, LPCSTR _p7, LPBOOL _p8)
  1135. {
  1136. FARPROC lpfn = GetProcAddressInternal(GetModuleHandleA("kernel32.dll"), "WideCharToMultiByte");
  1137. if(lpfn)
  1138. return((int)(* lpfn)(_p1, _p2, _p3, _p4, _p5, _p6, _p7, _p8));
  1139. SetLastError(ERROR_PROC_NOT_FOUND);
  1140. return(0);
  1141. }
  1142. #endif // FAIL_TEMPLATE_HEADER
  1143. End=