Advertisement
Guest User

Untitled

a guest
Nov 9th, 2015
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 95.42 KB | None | 0 0
  1. /***
  2. *crtdefs.h - definitions/declarations common to all CRT
  3. *
  4. *       Copyright (c) Microsoft Corporation. All rights reserved.
  5. *
  6. *Purpose:
  7. *       This file has mostly defines used by the entire CRT.
  8. *
  9. *       [Public]
  10. *
  11. ****/
  12.  
  13. /* Lack of pragma once is deliberate */
  14.  
  15. /* Define _CRTIMP */
  16. #ifndef _CRTIMP
  17. #ifdef  _DLL
  18. #define _CRTIMP __declspec(dllimport)
  19. #else   /* ndef _DLL */
  20. #define _CRTIMP
  21. #endif  /* _DLL */
  22. #endif  /* _CRTIMP */
  23.  
  24. #ifndef _INC_CRTDEFS
  25. #define _INC_CRTDEFS
  26.  
  27.  
  28.  
  29. #if defined(__midl)
  30. /* MIDL does not want to see this stuff */
  31. #undef _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES
  32. #undef _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT
  33. #undef _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES
  34. #undef _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY
  35. #undef _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY
  36. #define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 0
  37. #define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT 0
  38. #define _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES 0
  39. #define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY 0
  40. #define _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY 0
  41. #endif
  42.  
  43. #if     !defined(_WIN32)
  44. #error ERROR: Only Win32 target supported!
  45. #endif
  46.  
  47. /* Note on use of "deprecate":
  48.  * Various places in this header and other headers use __declspec(deprecate) or macros that have the term DEPRECATE in them.
  49.  * We use deprecate here ONLY to signal the compiler to emit a warning about these items. The use of deprecate
  50.  * should NOT be taken to imply that any standard committee has deprecated these functions from the relevant standards.
  51.  * In fact, these functions are NOT deprecated from the standard.
  52.  *
  53.  * Full details can be found in our documentation by searching for "Security Enhancements in the CRT".
  54. */
  55.  
  56. #include <sal.h>
  57.  
  58. #undef _CRT_PACKING
  59. #define _CRT_PACKING 8
  60.  
  61. #pragma pack(push,_CRT_PACKING)
  62.  
  63. #include <vadefs.h>
  64.  
  65. #ifdef  __cplusplus
  66. extern "C" {
  67. #endif
  68.  
  69. /* preprocessor string helpers */
  70. #ifndef _CRT_STRINGIZE
  71. #define __CRT_STRINGIZE(_Value) #_Value
  72. #define _CRT_STRINGIZE(_Value) __CRT_STRINGIZE(_Value)
  73. #endif
  74.  
  75. #ifndef _CRT_WIDE
  76. #define __CRT_WIDE(_String) L ## _String
  77. #define _CRT_WIDE(_String) __CRT_WIDE(_String)
  78. #endif
  79.  
  80. #ifndef _CRT_APPEND
  81. #define __CRT_APPEND(_Value1, _Value2) _Value1 ## _Value2
  82. #define _CRT_APPEND(_Value1, _Value2) __CRT_APPEND(_Value1, _Value2)
  83. #endif
  84.  
  85. #if !defined(_W64)
  86. #if !defined(__midl) && (defined(_X86_) || defined(_M_IX86))
  87. #define _W64 __w64
  88. #else
  89. #define _W64
  90. #endif
  91. #endif
  92.  
  93.  
  94. /* Define _CRTIMP_NOIA64 */
  95. #ifndef _CRTIMP_NOIA64
  96. #if defined(_M_IA64)
  97. #define _CRTIMP_NOIA64
  98. #else
  99. #define _CRTIMP_NOIA64 _CRTIMP
  100. #endif
  101. #endif
  102.  
  103. /* Define _CRTIMP2 */
  104.  
  105. #ifndef _CRTIMP2
  106. #if defined(_DLL) && !defined(_STATIC_CPPLIB)
  107. #define _CRTIMP2 __declspec(dllimport)
  108. #else   /* ndef _DLL && !STATIC_CPPLIB */
  109. #define _CRTIMP2
  110. #endif  /* _DLL && !STATIC_CPPLIB */
  111. #endif  /* _CRTIMP2 */
  112.  
  113. /* Define _CRTIMP_ALTERNATIVE */
  114.  
  115. #ifndef _CRTIMP_ALTERNATIVE
  116. #ifdef  _DLL
  117. #ifdef _CRT_ALTERNATIVE_INLINES
  118. #define _CRTIMP_ALTERNATIVE
  119. #else
  120. #define _CRTIMP_ALTERNATIVE _CRTIMP
  121. #define _CRT_ALTERNATIVE_IMPORTED
  122. #endif
  123. #else   /* ndef _DLL */
  124. #define _CRTIMP_ALTERNATIVE
  125. #endif  /* _DLL */
  126. #endif  /* _CRTIMP_ALTERNATIVE */
  127.  
  128. /* Define _MRTIMP */
  129.  
  130. #ifndef _MRTIMP
  131. #define _MRTIMP __declspec(dllimport)
  132. #endif  /* _MRTIMP */
  133.  
  134. /* Define _MRTIMP2 */
  135. #ifndef _MRTIMP2
  136.  
  137. #if defined(_DLL) && !defined(_STATIC_CPPLIB)
  138. #define _MRTIMP2    __declspec(dllimport)
  139.  
  140. #else   /* ndef _DLL && !STATIC_CPPLIB */
  141. #define _MRTIMP2
  142. #endif  /* _DLL && !STATIC_CPPLIB */
  143.  
  144. #endif  /* _MRTIMP2 */
  145.  
  146.  
  147. #ifndef _MCRTIMP
  148. #ifdef  _DLL
  149. #define _MCRTIMP __declspec(dllimport)
  150. #else   /* ndef _DLL */
  151. #define _MCRTIMP
  152. #endif  /* _DLL */
  153. #endif  /* _CRTIMP */
  154.  
  155. #ifndef __CLR_OR_THIS_CALL
  156. #if defined(MRTDLL) || defined(_M_CEE_PURE)
  157. #define __CLR_OR_THIS_CALL  __clrcall
  158. #else
  159. #define __CLR_OR_THIS_CALL
  160. #endif
  161. #endif
  162.  
  163. #ifndef __CLRCALL_OR_CDECL
  164. #if defined(MRTDLL) || defined(_M_CEE_PURE)
  165. #define __CLRCALL_OR_CDECL __clrcall
  166. #else
  167. #define __CLRCALL_OR_CDECL __cdecl
  168. #endif
  169. #endif
  170.  
  171. #ifndef _CRTIMP_PURE
  172.  #if defined(_M_CEE_PURE) || defined(_STATIC_CPPLIB)
  173.   #define _CRTIMP_PURE
  174.  #else
  175.   #define _CRTIMP_PURE _CRTIMP
  176.  #endif
  177. #endif
  178.  
  179. #ifndef _PGLOBAL
  180. #ifdef _M_CEE
  181.   #if defined(__cplusplus_cli)
  182.     #define _PGLOBAL __declspec(process)
  183.   #else
  184.     #define _PGLOBAL
  185.   #endif
  186. #else
  187. #define _PGLOBAL
  188. #endif
  189. #endif
  190.  
  191. #ifndef _AGLOBAL
  192. #ifdef _M_CEE
  193. #define _AGLOBAL __declspec(appdomain)
  194. #else
  195. #define _AGLOBAL
  196. #endif
  197. #endif
  198.  
  199. /* define a specific constant for mixed mode */
  200. #ifdef _M_CEE
  201. #ifndef _M_CEE_PURE
  202. #define _M_CEE_MIXED
  203. #endif
  204. #endif
  205.  
  206. /* Define __STDC_SECURE_LIB__ */
  207. #define __STDC_SECURE_LIB__ 200411L
  208.  
  209. /* Retain__GOT_SECURE_LIB__ for back-compat */
  210. #define __GOT_SECURE_LIB__ __STDC_SECURE_LIB__
  211.  
  212. /* Default value for __STDC_WANT_SECURE_LIB__ is 1 */
  213. #ifndef __STDC_WANT_SECURE_LIB__
  214. #define __STDC_WANT_SECURE_LIB__ 1
  215. #endif
  216.  
  217. /* Turn off warnings if __STDC_WANT_SECURE_LIB__ is 0 */
  218. #if !__STDC_WANT_SECURE_LIB__ && !defined(_CRT_SECURE_NO_WARNINGS)
  219. #define _CRT_SECURE_NO_WARNINGS
  220. #endif
  221.  
  222. /* See note on use of deprecate at the top of this file */
  223. #define _CRT_DEPRECATE_TEXT(_Text) __declspec(deprecated(_Text))
  224.  
  225. /* Define _CRT_INSECURE_DEPRECATE */
  226. /* See note on use of deprecate at the top of this file */
  227. #if defined(_CRT_SECURE_NO_DEPRECATE) && !defined(_CRT_SECURE_NO_WARNINGS)
  228. #define _CRT_SECURE_NO_WARNINGS
  229. #endif
  230.  
  231. #ifndef _CRT_INSECURE_DEPRECATE
  232. #ifdef _CRT_SECURE_NO_WARNINGS
  233. #define _CRT_INSECURE_DEPRECATE(_Replacement)
  234. #else
  235. #define _CRT_INSECURE_DEPRECATE(_Replacement) _CRT_DEPRECATE_TEXT("This function or variable may be unsafe. Consider using " #_Replacement " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")
  236. #endif
  237. #endif
  238.  
  239. /* Define _CRT_INSECURE_DEPRECATE_MEMORY */
  240. /* See note on use of deprecate at the top of this file */
  241. #if defined(_CRT_SECURE_DEPRECATE_MEMORY) && !defined(_CRT_SECURE_WARNINGS_MEMORY)
  242. #define _CRT_SECURE_WARNINGS_MEMORY
  243. #endif
  244.  
  245. #ifndef _CRT_INSECURE_DEPRECATE_MEMORY
  246. #if !defined(_CRT_SECURE_WARNINGS_MEMORY)
  247. #define _CRT_INSECURE_DEPRECATE_MEMORY(_Replacement)
  248. #else
  249. #define _CRT_INSECURE_DEPRECATE_MEMORY(_Replacement) _CRT_INSECURE_DEPRECATE(_Replacement)
  250. #endif
  251. #endif
  252.  
  253. /* Define _CRT_INSECURE_DEPRECATE_GLOBALS */
  254. /* See note on use of deprecate at the top of this file */
  255. #if !defined (RC_INVOKED)
  256. #if defined(_CRT_SECURE_NO_DEPRECATE_GLOBALS) && !defined(_CRT_SECURE_NO_WARNINGS_GLOBALS)
  257. #define _CRT_SECURE_NO_WARNINGS_GLOBALS
  258. #endif
  259. #endif
  260.  
  261. #ifndef _CRT_INSECURE_DEPRECATE_GLOBALS
  262. #if defined (RC_INVOKED)
  263. #define _CRT_INSECURE_DEPRECATE_GLOBALS(_Replacement)
  264. #else
  265. #if defined(_CRT_SECURE_NO_WARNINGS_GLOBALS)
  266. #define _CRT_INSECURE_DEPRECATE_GLOBALS(_Replacement)
  267. #else
  268. #define _CRT_INSECURE_DEPRECATE_GLOBALS(_Replacement) _CRT_INSECURE_DEPRECATE(_Replacement)
  269. #endif
  270. #endif
  271. #endif
  272.  
  273. /* Define _CRT_MANAGED_HEAP_DEPRECATE */
  274. /* See note on use of deprecate at the top of this file */
  275. #if defined(_CRT_MANAGED_HEAP_NO_DEPRECATE) && !defined(_CRT_MANAGED_HEAP_NO_WARNINGS)
  276. #define _CRT_MANAGED_HEAP_NO_WARNINGS
  277. #endif
  278.  
  279. #ifndef _CRT_MANAGED_HEAP_DEPRECATE
  280. #ifdef _CRT_MANAGED_HEAP_NO_WARNINGS
  281. #define _CRT_MANAGED_HEAP_DEPRECATE
  282. #else
  283. #if defined(_M_CEE)
  284. #define _CRT_MANAGED_HEAP_DEPRECATE
  285. /* Disabled to allow QA tests to get fixed
  286. _CRT_DEPRECATE_TEXT("Direct heap access is not safely possible from managed code.")
  287. */
  288. #else
  289. #define _CRT_MANAGED_HEAP_DEPRECATE
  290. #endif
  291. #endif
  292. #endif
  293.  
  294. /* Change the __FILL_BUFFER_PATTERN to 0xFE to fix security function buffer overrun detection bug */
  295. #define _SECURECRT_FILL_BUFFER_PATTERN 0xFE
  296.  
  297. /* obsolete stuff */
  298.  
  299. /* Define _CRT_OBSOLETE */
  300. /* See note on use of deprecate at the top of this file */
  301. #if defined(_CRT_OBSOLETE_NO_DEPRECATE) && !defined(_CRT_OBSOLETE_NO_WARNINGS)
  302. #define _CRT_OBSOLETE_NO_WARNINGS
  303. #endif
  304.  
  305. #ifndef _CRT_OBSOLETE
  306. #ifdef _CRT_OBSOLETE_NO_WARNINGS
  307. #define _CRT_OBSOLETE(_NewItem)
  308. #else
  309. #define _CRT_OBSOLETE(_NewItem) _CRT_DEPRECATE_TEXT("This function or variable has been superceded by newer library or operating system functionality. Consider using " #_NewItem " instead. See online help for details.")
  310. #endif
  311. #endif
  312.  
  313.  
  314. /* jit64 instrinsic stuff */
  315. #ifndef _CRT_JIT_INTRINSIC
  316. #if defined(_M_CEE) && (defined(_M_AMD64) || defined(_M_IA64))
  317. /* This is only needed when managed code is calling the native APIs, targeting the 64-bit runtime */
  318. #define _CRT_JIT_INTRINSIC __declspec(jitintrinsic)
  319. #else
  320. #define _CRT_JIT_INTRINSIC
  321. #endif
  322. #endif
  323.  
  324. /* Define overload switches */
  325. #if !defined (RC_INVOKED)
  326.  #if !defined(_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES)
  327.   #define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 0
  328.  #else
  329.   #if !__STDC_WANT_SECURE_LIB__ && _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES
  330.    #error Cannot use Secure CRT C++ overloads when __STDC_WANT_SECURE_LIB__ is 0
  331.   #endif
  332.  #endif
  333. #endif
  334.  
  335. #if !defined (RC_INVOKED)
  336.  #if !defined(_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT)
  337.   /* _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT is ignored if _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES is set to 0 */
  338.   #define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT 0
  339.  #else
  340.   #if !__STDC_WANT_SECURE_LIB__ && _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT
  341.    #error Cannot use Secure CRT C++ overloads when __STDC_WANT_SECURE_LIB__ is 0
  342.   #endif
  343.  #endif
  344. #endif
  345.  
  346. #if !defined (RC_INVOKED)
  347.  #if !defined(_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES)
  348.   #if __STDC_WANT_SECURE_LIB__
  349.    #define _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES 1
  350.   #else
  351.    #define _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES 0
  352.   #endif
  353.  #else
  354.   #if !__STDC_WANT_SECURE_LIB__ && _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES
  355.    #error Cannot use Secure CRT C++ overloads when __STDC_WANT_SECURE_LIB__ is 0
  356.   #endif
  357.  #endif
  358. #endif
  359.  
  360. #if !defined (RC_INVOKED)
  361.  #if !defined(_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY)
  362.   #define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY 0
  363.  #else
  364.   #if !__STDC_WANT_SECURE_LIB__ && _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY
  365.    #error Cannot use Secure CRT C++ overloads when __STDC_WANT_SECURE_LIB__ is 0
  366.   #endif
  367.  #endif
  368. #endif
  369.  
  370. #if !defined (RC_INVOKED)
  371.  #if !defined(_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY)
  372.   #define _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY 0
  373.  #else
  374.   #if !__STDC_WANT_SECURE_LIB__ && _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY
  375.    #error Cannot use Secure CRT C++ overloads when __STDC_WANT_SECURE_LIB__ is 0
  376.   #endif
  377.  #endif
  378. #endif
  379.  
  380. #if !defined(_CRT_SECURE_CPP_NOTHROW)
  381. #define _CRT_SECURE_CPP_NOTHROW throw()
  382. #endif
  383.  
  384. /* Define _CRT_NONSTDC_DEPRECATE */
  385. /* See note on use of deprecate at the top of this file */
  386. #if defined(_CRT_NONSTDC_NO_DEPRECATE) && !defined(_CRT_NONSTDC_NO_WARNINGS)
  387. #define _CRT_NONSTDC_NO_WARNINGS
  388. #endif
  389.  
  390. #if !defined(_CRT_NONSTDC_DEPRECATE)
  391. #if defined(_CRT_NONSTDC_NO_WARNINGS) || defined(_POSIX_)
  392. #define _CRT_NONSTDC_DEPRECATE(_NewName)
  393. #else
  394. #define _CRT_NONSTDC_DEPRECATE(_NewName) _CRT_DEPRECATE_TEXT("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " #_NewName ". See online help for details.")
  395. #endif
  396. #endif
  397.  
  398. #ifndef _SIZE_T_DEFINED
  399. #ifdef  _WIN64
  400. typedef unsigned __int64    size_t;
  401. #else
  402. typedef _W64 unsigned int   size_t;
  403. #endif
  404. #define _SIZE_T_DEFINED
  405. #endif
  406.  
  407. #if __STDC_WANT_SECURE_LIB__
  408. #ifndef _RSIZE_T_DEFINED
  409. typedef size_t rsize_t;
  410. #define _RSIZE_T_DEFINED
  411. #endif
  412. #endif
  413.  
  414. #ifndef _INTPTR_T_DEFINED
  415. #ifdef  _WIN64
  416. typedef __int64             intptr_t;
  417. #else
  418. typedef _W64 int            intptr_t;
  419. #endif
  420. #define _INTPTR_T_DEFINED
  421. #endif
  422.  
  423. #ifndef _UINTPTR_T_DEFINED
  424. #ifdef  _WIN64
  425. typedef unsigned __int64    uintptr_t;
  426. #else
  427. typedef _W64 unsigned int   uintptr_t;
  428. #endif
  429. #define _UINTPTR_T_DEFINED
  430. #endif
  431.  
  432. #ifndef _PTRDIFF_T_DEFINED
  433. #ifdef  _WIN64
  434. typedef __int64             ptrdiff_t;
  435. #else
  436. typedef _W64 int            ptrdiff_t;
  437. #endif
  438. #define _PTRDIFF_T_DEFINED
  439. #endif
  440.  
  441. #ifndef _WCHAR_T_DEFINED
  442. typedef unsigned short wchar_t;
  443. #define _WCHAR_T_DEFINED
  444. #endif
  445.  
  446. #ifndef _WCTYPE_T_DEFINED
  447. typedef unsigned short wint_t;
  448. typedef unsigned short wctype_t;
  449. #define _WCTYPE_T_DEFINED
  450. #endif
  451.  
  452. #ifndef _VA_LIST_DEFINED
  453. #ifdef _M_CEE_PURE
  454. typedef System::ArgIterator va_list;
  455. #else
  456. typedef char *  va_list;
  457. #endif
  458. #define _VA_LIST_DEFINED
  459. #endif
  460.  
  461. #ifdef  _USE_32BIT_TIME_T
  462. #ifdef  _WIN64
  463. #error You cannot use 32-bit time_t (_USE_32BIT_TIME_T) with _WIN64
  464. #endif
  465. #endif
  466.  
  467. #ifndef _ERRNO_T_DEFINED
  468. #define _ERRNO_T_DEFINED
  469. typedef int errno_t;
  470. #endif
  471.  
  472. #ifndef _TIME32_T_DEFINED
  473. typedef _W64 long __time32_t;   /* 32-bit time value */
  474. #define _TIME32_T_DEFINED
  475. #endif
  476.  
  477. #ifndef _TIME64_T_DEFINED
  478. typedef __int64 __time64_t;     /* 64-bit time value */
  479. #define _TIME64_T_DEFINED
  480. #endif
  481.  
  482. #ifndef _TIME_T_DEFINED
  483. #ifdef _USE_32BIT_TIME_T
  484. typedef __time32_t time_t;      /* time value */
  485. #else
  486. typedef __time64_t time_t;      /* time value */
  487. #endif
  488. #define _TIME_T_DEFINED         /* avoid multiple def's of time_t */
  489. #endif
  490.  
  491. #ifndef _CONST_RETURN
  492. #ifdef  __cplusplus
  493. #define _CONST_RETURN  const
  494. #define _CRT_CONST_CORRECT_OVERLOADS
  495. #else
  496. #define _CONST_RETURN
  497. #endif
  498. #endif
  499.  
  500. #if !defined(UNALIGNED)
  501. #if defined(_M_IA64) || defined(_M_AMD64)
  502. #define UNALIGNED __unaligned
  503. #else
  504. #define UNALIGNED
  505. #endif
  506. #endif
  507.  
  508. #if !defined(_CRT_ALIGN)
  509. #if defined(__midl)
  510. #define _CRT_ALIGN(x)
  511. #else
  512. #define _CRT_ALIGN(x) __declspec(align(x))
  513. #endif
  514. #endif
  515.  
  516. /* Define _CRTNOALIAS, _CRTRESTRICT */
  517.  
  518. #ifndef _CRTNOALIAS
  519. #define _CRTNOALIAS __declspec(noalias)
  520. #endif  /* _CRTNOALIAS */
  521.  
  522. #ifndef _CRTRESTRICT
  523. #define _CRTRESTRICT __declspec(restrict)
  524. #endif  /* _CRTRESTRICT */
  525.  
  526. #if !defined(__CRTDECL)
  527. #if defined(_M_CEE_PURE)
  528. #define __CRTDECL
  529. #else
  530. #define __CRTDECL   __cdecl
  531. #endif
  532. #endif
  533.  
  534. /* error reporting helpers */
  535. #define __STR2WSTR(str)    L##str
  536. #define _STR2WSTR(str)     __STR2WSTR(str)
  537.  
  538. #define __FILEW__          _STR2WSTR(__FILE__)
  539. #define __FUNCTIONW__      _STR2WSTR(__FUNCTION__)
  540.  
  541. /* invalid_parameter */
  542. #ifdef _DEBUG
  543.  _CRTIMP void __cdecl _invalid_parameter(_In_opt_z_ const wchar_t *, _In_opt_z_ const wchar_t *, _In_opt_z_ const wchar_t *, unsigned int, uintptr_t);
  544. #else
  545.  _CRTIMP void __cdecl _invalid_parameter_noinfo(void);
  546.  _CRTIMP __declspec(noreturn) void __cdecl _invalid_parameter_noinfo_noreturn(void);
  547. #endif
  548.  
  549. _CRTIMP __declspec(noreturn)
  550. void __cdecl _invoke_watson(_In_opt_z_ const wchar_t *, _In_opt_z_ const wchar_t *, _In_opt_z_ const wchar_t *, unsigned int, uintptr_t);
  551.  
  552. #ifdef _DEBUG
  553.  #ifndef _CRT_SECURE_INVALID_PARAMETER
  554.   #define _CRT_SECURE_INVALID_PARAMETER(expr) ::_invalid_parameter(__STR2WSTR(#expr), __FUNCTIONW__, __FILEW__, __LINE__, 0)
  555.  #endif
  556. #else
  557.  /* By default, _CRT_SECURE_INVALID_PARAMETER in retail invokes _invalid_parameter_noinfo_noreturn(),
  558.   * which is marked __declspec(noreturn) and does not return control to the application. Even if
  559.   * _set_invalid_parameter_handler() is used to set a new invalid parameter handler which does return
  560.   * control to the application, _invalid_parameter_noinfo_noreturn() will terminate the application and
  561.   * invoke Watson. You can overwrite the definition of _CRT_SECURE_INVALID_PARAMETER if you need.
  562.   *
  563.   * _CRT_SECURE_INVALID_PARAMETER is used in the Standard C++ Libraries and the SafeInt library.
  564.   */
  565.  #ifndef _CRT_SECURE_INVALID_PARAMETER
  566.   #define _CRT_SECURE_INVALID_PARAMETER(expr) ::_invalid_parameter_noinfo_noreturn()
  567.  #endif
  568. #endif
  569.  
  570.  
  571. #define _ARGMAX 100
  572.  
  573. /* _TRUNCATE */
  574. #if !defined(_TRUNCATE)
  575. #define _TRUNCATE ((size_t)-1)
  576. #endif
  577.  
  578. /* helper macros for cpp overloads */
  579. #if !defined(RC_INVOKED)
  580. #if defined(__cplusplus) && _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES
  581.  
  582. #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(_ReturnType, _FuncName, _DstType, _Dst) \
  583.     extern "C++" \
  584.     { \
  585.     template <size_t _Size> \
  586.     inline \
  587.     _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size]) _CRT_SECURE_CPP_NOTHROW \
  588.     { \
  589.         return _FuncName(_Dst, _Size); \
  590.     } \
  591.     }
  592.  
  593. #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(_ReturnType, _FuncName, _DstType, _Dst, _TType1, _TArg1) \
  594.     extern "C++" \
  595.     { \
  596.     template <size_t _Size> \
  597.     inline \
  598.     _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size], _TType1 _TArg1) _CRT_SECURE_CPP_NOTHROW \
  599.     { \
  600.         return _FuncName(_Dst, _Size, _TArg1); \
  601.     } \
  602.     }
  603.  
  604. #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(_ReturnType, _FuncName, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  605.     extern "C++" \
  606.     { \
  607.     template <size_t _Size> \
  608.     inline \
  609.     _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2) _CRT_SECURE_CPP_NOTHROW \
  610.     { \
  611.         return _FuncName(_Dst, _Size, _TArg1, _TArg2); \
  612.     } \
  613.     }
  614.  
  615. #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_3(_ReturnType, _FuncName, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \
  616.     extern "C++" \
  617.     { \
  618.     template <size_t _Size> \
  619.     inline \
  620.     _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) _CRT_SECURE_CPP_NOTHROW \
  621.     { \
  622.         return _FuncName(_Dst, _Size, _TArg1, _TArg2, _TArg3); \
  623.     } \
  624.     }
  625.  
  626. #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_4(_ReturnType, _FuncName, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3, _TType4, _TArg4) \
  627.     extern "C++" \
  628.     { \
  629.     template <size_t _Size> \
  630.     inline \
  631.     _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3, _TType4 _TArg4) _CRT_SECURE_CPP_NOTHROW \
  632.     { \
  633.         return _FuncName(_Dst, _Size, _TArg1, _TArg2, _TArg3, _TArg4); \
  634.     } \
  635.     }
  636.  
  637. #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(_ReturnType, _FuncName, _HType1, _HArg1, _DstType, _Dst, _TType1, _TArg1) \
  638.     extern "C++" \
  639.     { \
  640.     template <size_t _Size> \
  641.     inline \
  642.     _ReturnType __CRTDECL _FuncName(_HType1 _HArg1, _DstType (&_Dst)[_Size], _TType1 _TArg1) _CRT_SECURE_CPP_NOTHROW \
  643.     { \
  644.         return _FuncName(_HArg1, _Dst, _Size, _TArg1); \
  645.     } \
  646.     }
  647.  
  648. #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_2(_ReturnType, _FuncName, _HType1, _HArg1, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  649.     extern "C++" \
  650.     { \
  651.     template <size_t _Size> \
  652.     inline \
  653.     _ReturnType __CRTDECL _FuncName(_HType1 _HArg1, _DstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2) _CRT_SECURE_CPP_NOTHROW \
  654.     { \
  655.         return _FuncName(_HArg1, _Dst, _Size, _TArg1, _TArg2); \
  656.     } \
  657.     }
  658.  
  659. #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_3(_ReturnType, _FuncName, _HType1, _HArg1, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \
  660.     extern "C++" \
  661.     { \
  662.     template <size_t _Size> \
  663.     inline \
  664.     _ReturnType __CRTDECL _FuncName(_HType1 _HArg1, _DstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) _CRT_SECURE_CPP_NOTHROW \
  665.     { \
  666.         return _FuncName(_HArg1, _Dst, _Size, _TArg1, _TArg2, _TArg3); \
  667.     } \
  668.     }
  669.  
  670. #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_2_0(_ReturnType, _FuncName, _HType1, _HArg1, _HType2, _HArg2, _DstType, _Dst) \
  671.     extern "C++" \
  672.     { \
  673.     template <size_t _Size> \
  674.     inline \
  675.     _ReturnType __CRTDECL _FuncName(_HType1 _HArg1, _HType2 _HArg2, _DstType (&_Dst)[_Size]) _CRT_SECURE_CPP_NOTHROW \
  676.     { \
  677.         return _FuncName(_HArg1, _HArg2, _Dst, _Size); \
  678.     } \
  679.     }
  680.  
  681. #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1_ARGLIST(_ReturnType, _FuncName, _VFuncName, _DstType, _Dst, _TType1, _TArg1) \
  682.     extern "C++" \
  683.     { \
  684.     __pragma(warning(push)); \
  685.     __pragma(warning(disable: 4793)); \
  686.     template <size_t _Size> \
  687.     inline \
  688.     _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size], _TType1 _TArg1, ...) _CRT_SECURE_CPP_NOTHROW \
  689.     { \
  690.         va_list _ArgList; \
  691.         _crt_va_start(_ArgList, _TArg1); \
  692.         return _VFuncName(_Dst, _Size, _TArg1, _ArgList); \
  693.     } \
  694.     __pragma(warning(pop)); \
  695.     }
  696.  
  697. #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2_ARGLIST(_ReturnType, _FuncName, _VFuncName, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  698.     extern "C++" \
  699.     { \
  700.     __pragma(warning(push)); \
  701.     __pragma(warning(disable: 4793)); \
  702.     template <size_t _Size> \
  703.     inline \
  704.     _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2, ...) _CRT_SECURE_CPP_NOTHROW \
  705.     { \
  706.         va_list _ArgList; \
  707.         _crt_va_start(_ArgList, _TArg2); \
  708.         return _VFuncName(_Dst, _Size, _TArg1, _TArg2, _ArgList); \
  709.     } \
  710.     __pragma(warning(pop)); \
  711.     }
  712.  
  713. #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_SPLITPATH(_ReturnType, _FuncName, _DstType, _Src) \
  714.     extern "C++" \
  715.     { \
  716.     template <size_t _DriveSize, size_t _DirSize, size_t _NameSize, size_t _ExtSize> \
  717.     inline \
  718.     _ReturnType __CRTDECL _FuncName(_In_ const _DstType *_Src, _DstType (&_Drive)[_DriveSize], _DstType (&_Dir)[_DirSize], _DstType (&_Name)[_NameSize], _DstType (&_Ext)[_ExtSize]) _CRT_SECURE_CPP_NOTHROW \
  719.     { \
  720.         return _FuncName(_Src, _Drive, _DriveSize, _Dir, _DirSize, _Name, _NameSize, _Ext, _ExtSize); \
  721.     } \
  722.     }
  723.  
  724. #else
  725.  
  726. #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(_ReturnType, _FuncName, _DstType, _Dst)
  727. #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(_ReturnType, _FuncName, _DstType, _Dst, _TType1, _TArg1)
  728. #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(_ReturnType, _FuncName, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
  729. #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_3(_ReturnType, _FuncName, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3)
  730. #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_4(_ReturnType, _FuncName, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3, _TType4, _TArg4)
  731. #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(_ReturnType, _FuncName, _HType1, _HArg1, _DstType, _Dst, _TType1, _TArg1)
  732. #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_2(_ReturnType, _FuncName, _HType1, _HArg1, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
  733. #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_3(_ReturnType, _FuncName, _HType1, _HArg1, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3)
  734. #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_2_0(_ReturnType, _FuncName, _HType1, _HArg1, _HType2, _HArg2, _DstType, _Dst)
  735. #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1_ARGLIST(_ReturnType, _FuncName, _VFuncName, _DstType, _Dst, _TType1, _TArg1)
  736. #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2_ARGLIST(_ReturnType, _FuncName, _VFuncName, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
  737. #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_SPLITPATH(_ReturnType, _FuncName, _DstType, _Src)
  738.  
  739. #endif /* _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES */
  740. #endif
  741.  
  742. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst) \
  743.     __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _FuncName##_s, _SalAttributeDst, _DstType, _Dst)
  744.  
  745. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1) \
  746.     __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _FuncName##_s, _DstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1)
  747.  
  748. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_2(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  749.     __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_2_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _FuncName##_s, _DstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
  750.  
  751. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_3(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \
  752.     __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_3_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _FuncName##_s, _DstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3)
  753.  
  754. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_4(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3, _TType4, _TArg4) \
  755.     __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_4_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _FuncName##_s, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3, _TType4, _TArg4)
  756.  
  757. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _HType1, _HArg1, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1) \
  758.     __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _FuncName##_s, _HType1, _HArg1, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1)
  759.  
  760. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_2_0(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _HType1, _HArg1, _HType2, _HArg2, _SalAttributeDst, _DstType, _Dst) \
  761.     __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_2_0_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _FuncName##_s, _HType1, _HArg1, _HType2, _HArg2, _SalAttributeDst, _DstType, _Dst)
  762.  
  763. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_ARGLIST(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _VFuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1) \
  764.     __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_ARGLIST_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _FuncName##_s, _VFuncName, _VFuncName##_s, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1)
  765.  
  766. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_2_ARGLIST(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _VFuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  767.     __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_2_ARGLIST_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _VFuncName, _VFuncName##_s, _DstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
  768.  
  769. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_2_SIZE(_DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  770.     __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_2_SIZE_EX(_DeclSpec, _FuncName, _FuncName##_s, _DstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
  771.  
  772. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_3_SIZE(_DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \
  773.     __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_3_SIZE_EX(_DeclSpec, _FuncName, _FuncName##_s, _DstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3)
  774.  
  775.  
  776. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_0(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst) \
  777.     __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_0_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _FuncName##_s, _SalAttributeDst, _DstType, _Dst) \
  778.  
  779. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_1(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1) \
  780.     __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_1_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _FuncName##_s, _SalAttributeDst, _DstType, _DstType, _Dst, _TType1, _TArg1)
  781.  
  782. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  783.     __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _FuncName##_s, _DstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
  784.  
  785. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_3(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \
  786.     __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_3_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _FuncName##_s, _DstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3)
  787.  
  788. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_4(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3, _TType4, _TArg4) \
  789.     __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_4_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _FuncName##_s, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3, _TType4, _TArg4)
  790.  
  791. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_1_1(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _HType1, _HArg1, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1) \
  792.     __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_1_1_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _FuncName##_s, _HType1, _HArg1, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1)
  793.  
  794. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_2_0(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _HType1, _HArg1, _HType2, _HArg2, _SalAttributeDst, _DstType, _Dst) \
  795.     __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_2_0_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _FuncName##_s, _HType1, _HArg1, _HType2, _HArg2, _SalAttributeDst, _DstType, _Dst)
  796.  
  797. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_1_ARGLIST(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _VFuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1) \
  798.     __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_1_ARGLIST_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _FuncName##_s, _VFuncName, _VFuncName##_s, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1)
  799.  
  800. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_SIZE(_DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  801.     __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_SIZE_EX(_DeclSpec, _FuncName, _FuncName##_s, _DstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
  802.  
  803. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_3_SIZE(_DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \
  804.     __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_3_SIZE_EX(_DeclSpec, _FuncName, _FuncName##_s, _DstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3)
  805.  
  806.  
  807. #if !defined(RC_INVOKED)
  808. #if defined(__cplusplus) && _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES
  809.  
  810. #define __RETURN_POLICY_SAME(_FunctionCall, _Dst) return (_FunctionCall)
  811. #define __RETURN_POLICY_DST(_FunctionCall, _Dst) return ((_FunctionCall) == 0 ? _Dst : 0)
  812. #define __RETURN_POLICY_VOID(_FunctionCall, _Dst) (_FunctionCall); return
  813. #define __EMPTY_DECLSPEC
  814.  
  815. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SalAttributeDst, _DstType, _Dst) \
  816.     __inline \
  817.     _ReturnType __CRTDECL __insecure_##_FuncName(_SalAttributeDst _DstType *_Dst) \
  818.     { \
  819.         _DeclSpec _ReturnType __cdecl _FuncName(_DstType *_Dst); \
  820.         return _FuncName(_Dst); \
  821.     } \
  822.     extern "C++" \
  823.     { \
  824.     template <typename _T> \
  825.     inline \
  826.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  827.     _ReturnType __CRTDECL _FuncName(_T &_Dst) _CRT_SECURE_CPP_NOTHROW \
  828.     { \
  829.         return __insecure_##_FuncName(static_cast<_DstType *>(_Dst)); \
  830.     } \
  831.     template <typename _T> \
  832.     inline \
  833.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  834.     _ReturnType __CRTDECL _FuncName(const _T &_Dst) _CRT_SECURE_CPP_NOTHROW \
  835.     { \
  836.         return __insecure_##_FuncName(static_cast<_DstType *>(_Dst)); \
  837.     } \
  838.     template <> \
  839.     inline \
  840.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  841.     _ReturnType __CRTDECL _FuncName(_DstType * &_Dst) _CRT_SECURE_CPP_NOTHROW \
  842.     { \
  843.         return __insecure_##_FuncName(_Dst); \
  844.     } \
  845.     template <size_t _Size> \
  846.     inline \
  847.     _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size]) _CRT_SECURE_CPP_NOTHROW \
  848.     { \
  849.         _ReturnPolicy(_SecureFuncName(_Dst, _Size), _Dst); \
  850.     } \
  851.     template <> \
  852.     inline \
  853.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  854.     _ReturnType __CRTDECL _FuncName<1>(_DstType (&_Dst)[1]) _CRT_SECURE_CPP_NOTHROW \
  855.     { \
  856.         _ReturnPolicy(_SecureFuncName(_Dst, 1), _Dst); \
  857.     } \
  858.     }
  859.  
  860. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0_CGETS(_ReturnType, _DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst) \
  861.     __inline \
  862.     _ReturnType __CRTDECL __insecure_##_FuncName(_SalAttributeDst _DstType *_Dst) \
  863.     { \
  864.         _DeclSpec _ReturnType __cdecl _FuncName(_DstType *_Dst); \
  865.         return _FuncName(_Dst); \
  866.     } \
  867.     extern "C++" \
  868.     { \
  869.     template <typename _T> \
  870.     inline \
  871.     _CRT_INSECURE_DEPRECATE(_FuncName##_s) \
  872.     _ReturnType __CRTDECL _FuncName(_T &_Dst) _CRT_SECURE_CPP_NOTHROW \
  873.     { \
  874.         return __insecure_##_FuncName(static_cast<_DstType *>(_Dst)); \
  875.     } \
  876.     template <typename _T> \
  877.     inline \
  878.     _CRT_INSECURE_DEPRECATE(_FuncName##_s) \
  879.     _ReturnType __CRTDECL _FuncName(const _T &_Dst) _CRT_SECURE_CPP_NOTHROW \
  880.     { \
  881.         return __insecure_##_FuncName(static_cast<_DstType *>(_Dst)); \
  882.     } \
  883.     template <> \
  884.     inline \
  885.     _CRT_INSECURE_DEPRECATE(_FuncName##_s) \
  886.     _ReturnType __CRTDECL _FuncName(_DstType * &_Dst) _CRT_SECURE_CPP_NOTHROW \
  887.     { \
  888.         return __insecure_##_FuncName(_Dst); \
  889.     } \
  890.     template <size_t _Size> \
  891.     inline \
  892.     _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size]) _CRT_SECURE_CPP_NOTHROW \
  893.     { \
  894.         size_t _SizeRead = 0; \
  895.         errno_t _Err = _FuncName##_s(_Dst + 2, (_Size - 2) < ((size_t)_Dst[0]) ? (_Size - 2) : ((size_t)_Dst[0]), &_SizeRead); \
  896.         _Dst[1] = (_DstType)(_SizeRead); \
  897.         return (_Err == 0 ? _Dst + 2 : 0); \
  898.     } \
  899.     template <> \
  900.     inline \
  901.     _CRT_INSECURE_DEPRECATE(_FuncName##_s) \
  902.     _ReturnType __CRTDECL _FuncName<1>(_DstType (&_Dst)[1]) _CRT_SECURE_CPP_NOTHROW \
  903.     { \
  904.         return __insecure_##_FuncName((_DstType *)_Dst); \
  905.     } \
  906.     template <> \
  907.     inline \
  908.     _CRT_INSECURE_DEPRECATE(_FuncName##_s) \
  909.     _ReturnType __CRTDECL _FuncName<2>(_DstType (&_Dst)[2]) _CRT_SECURE_CPP_NOTHROW \
  910.     { \
  911.         return __insecure_##_FuncName((_DstType *)_Dst); \
  912.     } \
  913.     }
  914.  
  915. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1) \
  916.     __inline \
  917.     _ReturnType __CRTDECL __insecure_##_FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1) \
  918.     { \
  919.         _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1); \
  920.         return _FuncName(_Dst, _TArg1); \
  921.     } \
  922.     extern "C++" \
  923.     { \
  924.     template <typename _T> \
  925.     inline \
  926.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  927.     _ReturnType __CRTDECL _FuncName(_T &_Dst, _TType1 _TArg1) _CRT_SECURE_CPP_NOTHROW \
  928.     { \
  929.         return __insecure_##_FuncName(static_cast<_DstType *>(_Dst), _TArg1); \
  930.     } \
  931.     template <typename _T> \
  932.     inline \
  933.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  934.     _ReturnType __CRTDECL _FuncName(const _T &_Dst, _TType1 _TArg1) _CRT_SECURE_CPP_NOTHROW \
  935.     { \
  936.         return __insecure_##_FuncName(static_cast<_DstType *>(_Dst), _TArg1); \
  937.     } \
  938.     template <> \
  939.     inline \
  940.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  941.     _ReturnType __CRTDECL _FuncName(_DstType * &_Dst, _TType1 _TArg1) _CRT_SECURE_CPP_NOTHROW \
  942.     { \
  943.         return __insecure_##_FuncName(_Dst, _TArg1); \
  944.     } \
  945.     template <size_t _Size> \
  946.     inline \
  947.     _ReturnType __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Size], _TType1 _TArg1) _CRT_SECURE_CPP_NOTHROW \
  948.     { \
  949.         _ReturnPolicy(_SecureFuncName(_Dst, _Size, _TArg1), _Dst); \
  950.     } \
  951.     template <> \
  952.     inline \
  953.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  954.     _ReturnType __CRTDECL _FuncName<1>(_DstType (&_Dst)[1], _TType1 _TArg1) _CRT_SECURE_CPP_NOTHROW \
  955.     { \
  956.         _ReturnPolicy(_SecureFuncName(_Dst, 1, _TArg1), _Dst); \
  957.     } \
  958.     }
  959.  
  960. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_2_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  961.     __inline \
  962.     _ReturnType __CRTDECL __insecure_##_FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2) _CRT_SECURE_CPP_NOTHROW \
  963.     { \
  964.         _DeclSpec _ReturnType __cdecl _FuncName(_DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2); \
  965.         return _FuncName(_Dst, _TArg1, _TArg2); \
  966.     } \
  967.     extern "C++" \
  968.     { \
  969.     template <typename _T> \
  970.     inline \
  971.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  972.     _ReturnType __CRTDECL _FuncName(_T &_Dst, _TType1 _TArg1, _TType2 _TArg2) _CRT_SECURE_CPP_NOTHROW \
  973.     { \
  974.         return __insecure_##_FuncName(static_cast<_DstType *>(_Dst), _TArg1, _TArg2); \
  975.     } \
  976.     template <typename _T> \
  977.     inline \
  978.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  979.     _ReturnType __CRTDECL _FuncName(const _T &_Dst, _TType1 _TArg1, _TType2 _TArg2) _CRT_SECURE_CPP_NOTHROW \
  980.     { \
  981.         return __insecure_##_FuncName(static_cast<_DstType *>(_Dst), _TArg1, _TArg2); \
  982.     } \
  983.     template <> \
  984.     inline \
  985.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  986.     _ReturnType __CRTDECL _FuncName(_DstType * &_Dst, _TType1 _TArg1, _TType2 _TArg2) _CRT_SECURE_CPP_NOTHROW \
  987.     { \
  988.         return __insecure_##_FuncName(_Dst, _TArg1, _TArg2); \
  989.     } \
  990.     template <size_t _Size> \
  991.     inline \
  992.     _ReturnType __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2) _CRT_SECURE_CPP_NOTHROW \
  993.     { \
  994.         _ReturnPolicy(_SecureFuncName(_Dst, _Size, _TArg1, _TArg2), _Dst); \
  995.     } \
  996.     template <> \
  997.     inline \
  998.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  999.     _ReturnType __CRTDECL _FuncName<1>(_DstType (&_Dst)[1], _TType1 _TArg1, _TType2 _TArg2) _CRT_SECURE_CPP_NOTHROW \
  1000.     { \
  1001.         _ReturnPolicy(_SecureFuncName(_Dst, 1, _TArg1, _TArg2), _Dst); \
  1002.     } \
  1003.     }
  1004.  
  1005. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_3_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \
  1006.     __inline \
  1007.     _ReturnType __CRTDECL __insecure_##_FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) \
  1008.     { \
  1009.         _DeclSpec _ReturnType __cdecl _FuncName(_DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3); \
  1010.         return _FuncName(_Dst, _TArg1, _TArg2, _TArg3); \
  1011.     } \
  1012.     extern "C++" \
  1013.     { \
  1014.     template <typename _T> \
  1015.     inline \
  1016.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1017.     _ReturnType __CRTDECL _FuncName(_T &_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) _CRT_SECURE_CPP_NOTHROW \
  1018.     { \
  1019.         return __insecure_##_FuncName(static_cast<_DstType *>(_Dst), _TArg1, _TArg2, _TArg3); \
  1020.     } \
  1021.     template <typename _T> \
  1022.     inline \
  1023.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1024.     _ReturnType __CRTDECL _FuncName(const _T &_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) _CRT_SECURE_CPP_NOTHROW \
  1025.     { \
  1026.         return __insecure_##_FuncName(static_cast<_DstType *>(_Dst), _TArg1, _TArg2, _TArg3); \
  1027.     } \
  1028.     template <> \
  1029.     inline \
  1030.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1031.     _ReturnType __CRTDECL _FuncName(_DstType * &_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) _CRT_SECURE_CPP_NOTHROW \
  1032.     { \
  1033.         return __insecure_##_FuncName(_Dst, _TArg1, _TArg2, _TArg3); \
  1034.     } \
  1035.     template <size_t _Size> \
  1036.     inline \
  1037.     _ReturnType __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) _CRT_SECURE_CPP_NOTHROW \
  1038.     { \
  1039.         _ReturnPolicy(_SecureFuncName(_Dst, _Size, _TArg1, _TArg2, _TArg3), _Dst); \
  1040.     } \
  1041.     template <> \
  1042.     inline \
  1043.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1044.     _ReturnType __CRTDECL _FuncName<1>(_DstType (&_Dst)[1], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) _CRT_SECURE_CPP_NOTHROW \
  1045.     { \
  1046.         _ReturnPolicy(_SecureFuncName(_Dst, 1, _TArg1, _TArg2, _TArg3), _Dst); \
  1047.     } \
  1048.     }
  1049.  
  1050. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_4_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3, _TType4, _TArg4) \
  1051.     __inline \
  1052.     _ReturnType __CRTDECL __insecure_##_FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3, _TType4 _TArg4) \
  1053.     { \
  1054.         _DeclSpec _ReturnType __cdecl _FuncName(_DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3, _TType4 _TArg4); \
  1055.         return _FuncName(_Dst, _TArg1, _TArg2, _TArg3, _TArg4); \
  1056.     } \
  1057.     extern "C++" \
  1058.     { \
  1059.     template <typename _T> \
  1060.     inline \
  1061.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1062.     _ReturnType __CRTDECL _FuncName(_T &_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3, _TType4 _TArg4) _CRT_SECURE_CPP_NOTHROW \
  1063.     { \
  1064.         return __insecure_##_FuncName(static_cast<_DstType *>(_Dst), _TArg1, _TArg2, _TArg3, _TArg4); \
  1065.     } \
  1066.     template <typename _T> \
  1067.     inline \
  1068.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1069.     _ReturnType __CRTDECL _FuncName(const _T &_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3, _TType4 _TArg4) _CRT_SECURE_CPP_NOTHROW \
  1070.     { \
  1071.         return __insecure_##_FuncName(static_cast<_DstType *>(_Dst), _TArg1, _TArg2, _TArg3, _TArg4); \
  1072.     } \
  1073.     template <> \
  1074.     inline \
  1075.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1076.     _ReturnType __CRTDECL _FuncName(_DstType * &_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3, _TType4 _TArg4) _CRT_SECURE_CPP_NOTHROW \
  1077.     { \
  1078.         return __insecure_##_FuncName(_Dst, _TArg1, _TArg2, _TArg3, _TArg4); \
  1079.     } \
  1080.     template <size_t _Size> \
  1081.     inline \
  1082.     _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3, _TType4 _TArg4) _CRT_SECURE_CPP_NOTHROW \
  1083.     { \
  1084.         _ReturnPolicy(_SecureFuncName(_Dst, _Size, _TArg1, _TArg2, _TArg3, _TArg4), _Dst); \
  1085.     } \
  1086.     template <> \
  1087.     inline \
  1088.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1089.     _ReturnType __CRTDECL _FuncName<1>(_DstType (&_Dst)[1], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3, _TType4 _TArg4) _CRT_SECURE_CPP_NOTHROW \
  1090.     { \
  1091.         _ReturnPolicy(_SecureFuncName(_Dst, 1, _TArg1, _TArg2, _TArg3, _TArg4), _Dst); \
  1092.     } \
  1093.     }
  1094.  
  1095. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _HType1, _HArg1, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1) \
  1096.     __inline \
  1097.     _ReturnType __CRTDECL __insecure_##_FuncName(_HType1 _HArg1, _SalAttributeDst _DstType *_Dst, _TType1 _TArg1) \
  1098.     { \
  1099.         _DeclSpec _ReturnType __cdecl _FuncName(_HType1 _HArg1, _DstType *_Dst, _TType1 _TArg1); \
  1100.         return _FuncName(_HArg1, _Dst, _TArg1); \
  1101.     } \
  1102.     extern "C++" \
  1103.     { \
  1104.     template <typename _T> \
  1105.     inline \
  1106.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1107.     _ReturnType __CRTDECL _FuncName(_HType1 _HArg1, _T &_Dst, _TType1 _TArg1) _CRT_SECURE_CPP_NOTHROW \
  1108.     { \
  1109.         return __insecure_##_FuncName(_HArg1, static_cast<_DstType *>(_Dst), _TArg1); \
  1110.     } \
  1111.     template <typename _T> \
  1112.     inline \
  1113.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1114.     _ReturnType __CRTDECL _FuncName(_HType1 _HArg1, const _T &_Dst, _TType1 _TArg1) _CRT_SECURE_CPP_NOTHROW \
  1115.     { \
  1116.         return __insecure_##_FuncName(_HArg1, static_cast<_DstType *>(_Dst), _TArg1); \
  1117.     } \
  1118.     template <> \
  1119.     inline \
  1120.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1121.     _ReturnType __CRTDECL _FuncName(_HType1 _HArg1, _DstType * &_Dst, _TType1 _TArg1) _CRT_SECURE_CPP_NOTHROW \
  1122.     { \
  1123.         return __insecure_##_FuncName(_HArg1, _Dst, _TArg1); \
  1124.     } \
  1125.     template <size_t _Size> \
  1126.     inline \
  1127.     _ReturnType __CRTDECL _FuncName(_HType1 _HArg1, _DstType (&_Dst)[_Size], _TType1 _TArg1) _CRT_SECURE_CPP_NOTHROW \
  1128.     { \
  1129.         _ReturnPolicy(_SecureFuncName(_HArg1, _Dst, _Size, _TArg1), _Dst); \
  1130.     } \
  1131.     template <> \
  1132.     inline \
  1133.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1134.     _ReturnType __CRTDECL _FuncName<1>(_HType1 _HArg1, _DstType (&_Dst)[1], _TType1 _TArg1) _CRT_SECURE_CPP_NOTHROW \
  1135.     { \
  1136.         _ReturnPolicy(_SecureFuncName(_HArg1, _Dst, 1, _TArg1), _Dst); \
  1137.     } \
  1138.     }
  1139.  
  1140. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_2_0_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _HType1, _HArg1, _HType2, _HArg2, _SalAttributeDst, _DstType, _Dst) \
  1141.     __inline \
  1142.     _ReturnType __CRTDECL __insecure_##_FuncName(_HType1 _HArg1, _HType2 _HArg2, _SalAttributeDst _DstType *_Dst) \
  1143.     { \
  1144.         _DeclSpec _ReturnType __cdecl _FuncName(_HType1 _HArg1, _HType2 _HArg2, _DstType *_Dst); \
  1145.         return _FuncName(_HArg1, _HArg2, _Dst); \
  1146.     } \
  1147.     extern "C++" \
  1148.     { \
  1149.     template <typename _T> \
  1150.     inline \
  1151.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1152.     _ReturnType __CRTDECL _FuncName(_HType1 _HArg1, _HType2 _HArg2, _T &_Dst) _CRT_SECURE_CPP_NOTHROW \
  1153.     { \
  1154.         return __insecure_##_FuncName(_HArg1, _HArg2, static_cast<_DstType *>(_Dst)); \
  1155.     } \
  1156.     template <typename _T> \
  1157.     inline \
  1158.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1159.     _ReturnType __CRTDECL _FuncName(_HType1 _HArg1, _HType2 _HArg2, const _T &_Dst) _CRT_SECURE_CPP_NOTHROW \
  1160.     { \
  1161.         return __insecure_##_FuncName(_HArg1, _HArg2, static_cast<_DstType *>(_Dst)); \
  1162.     } \
  1163.     template <> \
  1164.     inline \
  1165.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1166.     _ReturnType __CRTDECL _FuncName(_HType1 _HArg1, _HType2 _HArg2, _DstType * &_Dst) _CRT_SECURE_CPP_NOTHROW \
  1167.     { \
  1168.         return __insecure_##_FuncName(_HArg1, _HArg2, _Dst); \
  1169.     } \
  1170.     template <size_t _Size> \
  1171.     inline \
  1172.     _ReturnType __CRTDECL _FuncName(_HType1 _HArg1, _HType2 _HArg2, _DstType (&_Dst)[_Size]) _CRT_SECURE_CPP_NOTHROW \
  1173.     { \
  1174.         _ReturnPolicy(_SecureFuncName(_HArg1, _HArg2, _Dst, _Size), _Dst); \
  1175.     } \
  1176.     template <> \
  1177.     inline \
  1178.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1179.     _ReturnType __CRTDECL _FuncName<1>(_HType1 _HArg1, _HType2 _HArg2, _DstType (&_Dst)[1]) _CRT_SECURE_CPP_NOTHROW \
  1180.     { \
  1181.         _ReturnPolicy(_SecureFuncName(_HArg1, _HArg2, _Dst, 1), _Dst); \
  1182.     } \
  1183.     }
  1184.  
  1185. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_ARGLIST_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _VFuncName, _SecureVFuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1) \
  1186.     __inline \
  1187.     _ReturnType __CRTDECL __insecure_##_VFuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, va_list _ArgList) \
  1188.     { \
  1189.         _DeclSpec _ReturnType __cdecl _VFuncName(_DstType *_Dst, _TType1 _TArg1, va_list _ArgList); \
  1190.         return _VFuncName(_Dst, _TArg1, _ArgList); \
  1191.     } \
  1192.     extern "C++" \
  1193.     { \
  1194.     __pragma(warning(push)); \
  1195.     __pragma(warning(disable: 4793)); \
  1196.     template <typename _T> \
  1197.     inline \
  1198.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1199.     _ReturnType __CRTDECL _FuncName(_T &_Dst, _TType1 _TArg1, ...) _CRT_SECURE_CPP_NOTHROW \
  1200.     { \
  1201.         va_list _ArgList; \
  1202.         _crt_va_start(_ArgList, _TArg1); \
  1203.         return __insecure_##_VFuncName(static_cast<_DstType *>(_Dst), _TArg1, _ArgList); \
  1204.     } \
  1205.     template <typename _T> \
  1206.     inline \
  1207.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1208.     _ReturnType __CRTDECL _FuncName(const _T &_Dst, _TType1 _TArg1, ...) _CRT_SECURE_CPP_NOTHROW \
  1209.     { \
  1210.         va_list _ArgList; \
  1211.         _crt_va_start(_ArgList, _TArg1); \
  1212.         return __insecure_##_VFuncName(static_cast<_DstType *>(_Dst), _TArg1, _ArgList); \
  1213.     } \
  1214.     __pragma(warning(pop)); \
  1215.     \
  1216.     __pragma(warning(push)); \
  1217.     __pragma(warning(disable: 4793)); \
  1218.     template <> \
  1219.     inline \
  1220.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1221.     _ReturnType __CRTDECL _FuncName(_DstType * &_Dst, _TType1 _TArg1, ...) _CRT_SECURE_CPP_NOTHROW \
  1222.     { \
  1223.         va_list _ArgList; \
  1224.         _crt_va_start(_ArgList, _TArg1); \
  1225.         return __insecure_##_VFuncName(_Dst, _TArg1, _ArgList); \
  1226.     } \
  1227.     __pragma(warning(pop)); \
  1228.     \
  1229.     __pragma(warning(push)); \
  1230.     __pragma(warning(disable: 4793)); \
  1231.     template <size_t _Size> \
  1232.     inline \
  1233.     _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size], _TType1 _TArg1, ...) _CRT_SECURE_CPP_NOTHROW \
  1234.     { \
  1235.         va_list _ArgList; \
  1236.         _crt_va_start(_ArgList, _TArg1); \
  1237.         _ReturnPolicy(_SecureVFuncName(_Dst, _Size, _TArg1, _ArgList), _Dst); \
  1238.     } \
  1239.     __pragma(warning(pop)); \
  1240.     \
  1241.     __pragma(warning(push)); \
  1242.     __pragma(warning(disable: 4793)); \
  1243.     template <> \
  1244.     inline \
  1245.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1246.     _ReturnType __CRTDECL _FuncName<1>(_DstType (&_Dst)[1], _TType1 _TArg1, ...) _CRT_SECURE_CPP_NOTHROW \
  1247.     { \
  1248.         va_list _ArgList; \
  1249.         _crt_va_start(_ArgList, _TArg1); \
  1250.         _ReturnPolicy(_SecureVFuncName(_Dst, 1, _TArg1, _ArgList), _Dst); \
  1251.     } \
  1252.     __pragma(warning(pop)); \
  1253.     \
  1254.     template <typename _T> \
  1255.     inline \
  1256.     _CRT_INSECURE_DEPRECATE(_SecureVFuncName) \
  1257.     _ReturnType __CRTDECL _VFuncName(_T &_Dst, _TType1 _TArg1, va_list _ArgList) _CRT_SECURE_CPP_NOTHROW \
  1258.     { \
  1259.         return __insecure_##_VFuncName(static_cast<_DstType *>(_Dst), _TArg1, _ArgList); \
  1260.     } \
  1261.     template <typename _T> \
  1262.     inline \
  1263.     _CRT_INSECURE_DEPRECATE(_SecureVFuncName) \
  1264.     _ReturnType __CRTDECL _VFuncName(const _T &_Dst, _TType1 _TArg1, va_list _ArgList) _CRT_SECURE_CPP_NOTHROW \
  1265.     { \
  1266.         return __insecure_##_VFuncName(static_cast<_DstType *>(_Dst), _TArg1, _ArgList); \
  1267.     } \
  1268.     template <> \
  1269.     inline \
  1270.     _CRT_INSECURE_DEPRECATE(_SecureVFuncName) \
  1271.     _ReturnType __CRTDECL _VFuncName(_DstType *&_Dst, _TType1 _TArg1, va_list _ArgList) _CRT_SECURE_CPP_NOTHROW \
  1272.     { \
  1273.         return __insecure_##_VFuncName(_Dst, _TArg1, _ArgList); \
  1274.     } \
  1275.     template <size_t _Size> \
  1276.     inline \
  1277.     _ReturnType __CRTDECL _VFuncName(_DstType (&_Dst)[_Size], _TType1 _TArg1, va_list _ArgList) _CRT_SECURE_CPP_NOTHROW \
  1278.     { \
  1279.         _ReturnPolicy(_SecureVFuncName(_Dst, _Size, _TArg1, _ArgList), _Dst); \
  1280.     } \
  1281.     template <> \
  1282.     inline \
  1283.     _CRT_INSECURE_DEPRECATE(_SecureVFuncName) \
  1284.     _ReturnType __CRTDECL _VFuncName<1>(_DstType (&_Dst)[1], _TType1 _TArg1, va_list _ArgList) _CRT_SECURE_CPP_NOTHROW \
  1285.     { \
  1286.         _ReturnPolicy(_SecureVFuncName(_Dst, 1, _TArg1, _ArgList), _Dst); \
  1287.     } \
  1288.     }
  1289.  
  1290. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_2_ARGLIST_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _VFuncName, _SecureVFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  1291.     __inline \
  1292.     _ReturnType __CRTDECL __insecure_##_VFuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, va_list _ArgList) \
  1293.     { \
  1294.         _DeclSpec _ReturnType __cdecl _VFuncName(_DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, va_list _ArgList); \
  1295.         return _VFuncName(_Dst, _TArg1, _TArg2, _ArgList); \
  1296.     } \
  1297.     extern "C++" \
  1298.     { \
  1299.     __pragma(warning(push)); \
  1300.     __pragma(warning(disable: 4793)); \
  1301.     template <typename _T> \
  1302.     inline \
  1303.     _CRT_INSECURE_DEPRECATE(_FuncName##_s) \
  1304.     _ReturnType __CRTDECL _FuncName(_T &_Dst, _TType1 _TArg1, _TType2 _TArg2, ...) _CRT_SECURE_CPP_NOTHROW \
  1305.     { \
  1306.         va_list _ArgList; \
  1307.         _crt_va_start(_ArgList, _TArg2); \
  1308.         return __insecure_##_VFuncName(static_cast<_DstType *>(_Dst), _TArg1, _TArg2, _ArgList); \
  1309.     } \
  1310.     template <typename _T> \
  1311.     inline \
  1312.     _CRT_INSECURE_DEPRECATE(_FuncName##_s) \
  1313.     _ReturnType __CRTDECL _FuncName(const _T &_Dst, _TType1 _TArg1, _TType2 _TArg2, ...) _CRT_SECURE_CPP_NOTHROW \
  1314.     { \
  1315.         va_list _ArgList; \
  1316.         _crt_va_start(_ArgList, _TArg2); \
  1317.         return __insecure_##_VFuncName(static_cast<_DstType *>(_Dst), _TArg1, _TArg2, _ArgList); \
  1318.     } \
  1319.     __pragma(warning(pop)); \
  1320.     \
  1321.     __pragma(warning(push)); \
  1322.     __pragma(warning(disable: 4793)); \
  1323.     template <> \
  1324.     inline \
  1325.     _CRT_INSECURE_DEPRECATE(_FuncName##_s) \
  1326.     _ReturnType __CRTDECL _FuncName(_DstType * &_Dst, _TType1 _TArg1, _TType2 _TArg2, ...) _CRT_SECURE_CPP_NOTHROW \
  1327.     { \
  1328.         va_list _ArgList; \
  1329.         _crt_va_start(_ArgList, _TArg2); \
  1330.         return __insecure_##_VFuncName(_Dst, _TArg1, _TArg2, _ArgList); \
  1331.     } \
  1332.     __pragma(warning(pop)); \
  1333.     \
  1334.     __pragma(warning(push)); \
  1335.     __pragma(warning(disable: 4793)); \
  1336.     template <size_t _Size> \
  1337.     inline \
  1338.     _ReturnType __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2, ...) _CRT_SECURE_CPP_NOTHROW \
  1339.     { \
  1340.         va_list _ArgList; \
  1341.         _crt_va_start(_ArgList, _TArg2); \
  1342.         _ReturnPolicy(_SecureVFuncName(_Dst, _Size, _TArg1, _TArg2, _ArgList), _Dst); \
  1343.     } \
  1344.     __pragma(warning(pop)); \
  1345.     \
  1346.     __pragma(warning(push)); \
  1347.     __pragma(warning(disable: 4793)); \
  1348.     template <> \
  1349.     inline \
  1350.     _CRT_INSECURE_DEPRECATE(_FuncName##_s) \
  1351.     _ReturnType __CRTDECL _FuncName<1>(_DstType (&_Dst)[1], _TType1 _TArg1, _TType2 _TArg2, ...) _CRT_SECURE_CPP_NOTHROW \
  1352.     { \
  1353.         va_list _ArgList; \
  1354.         _crt_va_start(_ArgList, _TArg2); \
  1355.         _ReturnPolicy(_SecureVFuncName(_Dst, 1, _TArg1, _TArg2, _ArgList), _Dst); \
  1356.     } \
  1357.     __pragma(warning(pop)); \
  1358.     \
  1359.     template <typename _T> \
  1360.     inline \
  1361.     _CRT_INSECURE_DEPRECATE(_SecureVFuncName) \
  1362.     _ReturnType __CRTDECL _VFuncName(_T &_Dst, _TType1 _TArg1, _TType2 _TArg2, va_list _ArgList) _CRT_SECURE_CPP_NOTHROW \
  1363.     { \
  1364.         return __insecure_##_VFuncName(static_cast<_DstType *>(_Dst), _TArg1, _TArg2, _ArgList); \
  1365.     } \
  1366.     template <typename _T> \
  1367.     inline \
  1368.     _CRT_INSECURE_DEPRECATE(_SecureVFuncName) \
  1369.     _ReturnType __CRTDECL _VFuncName(const _T &_Dst, _TType1 _TArg1, _TType2 _TArg2, va_list _ArgList) _CRT_SECURE_CPP_NOTHROW \
  1370.     { \
  1371.         return __insecure_##_VFuncName(static_cast<_DstType *>(_Dst), _TArg1, _TArg2, _ArgList); \
  1372.     } \
  1373.     template <> \
  1374.     inline \
  1375.     _CRT_INSECURE_DEPRECATE(_SecureVFuncName) \
  1376.     _ReturnType __CRTDECL _VFuncName(_DstType *&_Dst, _TType1 _TArg1, _TType2 _TArg2, va_list _ArgList) _CRT_SECURE_CPP_NOTHROW \
  1377.     { \
  1378.         return __insecure_##_VFuncName(_Dst, _TArg1, _TArg2, _ArgList); \
  1379.     } \
  1380.     template <size_t _Size> \
  1381.     inline \
  1382.     _ReturnType __CRTDECL _VFuncName(_SecureDstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2, va_list _ArgList) _CRT_SECURE_CPP_NOTHROW \
  1383.     { \
  1384.         _ReturnPolicy(_SecureVFuncName(_Dst, _Size, _TArg1, _TArg2, _ArgList), _Dst); \
  1385.     } \
  1386.     template <> \
  1387.     inline \
  1388.     _CRT_INSECURE_DEPRECATE(_SecureVFuncName) \
  1389.     _ReturnType __CRTDECL _VFuncName<1>(_DstType (&_Dst)[1], _TType1 _TArg1, _TType2 _TArg2, va_list _ArgList) _CRT_SECURE_CPP_NOTHROW \
  1390.     { \
  1391.         _ReturnPolicy(_SecureVFuncName(_Dst, 1, _TArg1, _TArg2, _ArgList), _Dst); \
  1392.     } \
  1393.     }
  1394.  
  1395. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_2_SIZE_EX(_DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  1396.     __inline \
  1397.     size_t __CRTDECL __insecure_##_FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2) \
  1398.     { \
  1399.         _DeclSpec size_t __cdecl _FuncName(_DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2); \
  1400.         return _FuncName(_Dst, _TArg1, _TArg2); \
  1401.     } \
  1402.     extern "C++" \
  1403.     { \
  1404.     template <typename _T> \
  1405.     inline \
  1406.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1407.     size_t __CRTDECL _FuncName(_T &_Dst, _TType1 _TArg1, _TType2 _TArg2) _CRT_SECURE_CPP_NOTHROW \
  1408.     { \
  1409.         return __insecure_##_FuncName(static_cast<_DstType *>(_Dst), _TArg1, _TArg2); \
  1410.     } \
  1411.     template <typename _T> \
  1412.     inline \
  1413.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1414.     size_t __CRTDECL _FuncName(const _T &_Dst, _TType1 _TArg1, _TType2 _TArg2) _CRT_SECURE_CPP_NOTHROW \
  1415.     { \
  1416.         return __insecure_##_FuncName(static_cast<_DstType *>(_Dst), _TArg1, _TArg2); \
  1417.     } \
  1418.     template <> \
  1419.     inline \
  1420.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1421.     size_t __CRTDECL _FuncName(_DstType * &_Dst, _TType1 _TArg1, _TType2 _TArg2) _CRT_SECURE_CPP_NOTHROW \
  1422.     { \
  1423.         return __insecure_##_FuncName(_Dst, _TArg1, _TArg2); \
  1424.     } \
  1425.     template <size_t _Size> \
  1426.     inline \
  1427.     size_t __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2) _CRT_SECURE_CPP_NOTHROW \
  1428.     { \
  1429.         size_t _Ret = 0; \
  1430.         _SecureFuncName(&_Ret, _Dst, _Size, _TArg1, _TArg2); \
  1431.         return (_Ret > 0 ? (_Ret - 1) : _Ret); \
  1432.     } \
  1433.     template <> \
  1434.     inline \
  1435.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1436.     size_t __CRTDECL _FuncName<1>(_DstType (&_Dst)[1], _TType1 _TArg1, _TType2 _TArg2) _CRT_SECURE_CPP_NOTHROW \
  1437.     { \
  1438.         size_t _Ret = 0; \
  1439.         _SecureFuncName(&_Ret, _Dst, 1, _TArg1, _TArg2); \
  1440.         return (_Ret > 0 ? (_Ret - 1) : _Ret); \
  1441.     } \
  1442.     }
  1443.  
  1444. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_3_SIZE_EX(_DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \
  1445.     __inline \
  1446.     size_t __CRTDECL __insecure_##_FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) \
  1447.     { \
  1448.         _DeclSpec size_t __cdecl _FuncName(_DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3); \
  1449.         return _FuncName(_Dst, _TArg1, _TArg2, _TArg3); \
  1450.     } \
  1451.     extern "C++" \
  1452.     { \
  1453.     template <typename _T> \
  1454.     inline \
  1455.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1456.     size_t __CRTDECL _FuncName(_T &_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) _CRT_SECURE_CPP_NOTHROW \
  1457.     { \
  1458.         return __insecure_##_FuncName(static_cast<_DstType *>(_Dst), _TArg1, _TArg2, _TArg3); \
  1459.     } \
  1460.     template <typename _T> \
  1461.     inline \
  1462.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1463.     size_t __CRTDECL _FuncName(const _T &_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) _CRT_SECURE_CPP_NOTHROW \
  1464.     { \
  1465.         return __insecure_##_FuncName(static_cast<_DstType *>(_Dst), _TArg1, _TArg2, _TArg3); \
  1466.     } \
  1467.     template <> \
  1468.     inline \
  1469.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1470.     size_t __CRTDECL _FuncName(_DstType * &_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) _CRT_SECURE_CPP_NOTHROW \
  1471.     { \
  1472.         return __insecure_##_FuncName(_Dst, _TArg1, _TArg2, _TArg3); \
  1473.     } \
  1474.     template <size_t _Size> \
  1475.     inline \
  1476.     size_t __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) _CRT_SECURE_CPP_NOTHROW \
  1477.     { \
  1478.         size_t _Ret = 0; \
  1479.         _SecureFuncName(&_Ret, _Dst, _Size, _TArg1, _TArg2, _TArg3); \
  1480.         return (_Ret > 0 ? (_Ret - 1) : _Ret); \
  1481.     } \
  1482.     template <> \
  1483.     inline \
  1484.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1485.     size_t __CRTDECL _FuncName<1>(_DstType (&_Dst)[1], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) _CRT_SECURE_CPP_NOTHROW \
  1486.     { \
  1487.         size_t _Ret = 0; \
  1488.         _SecureFuncName(&_Ret, _Dst, 1, _TArg1, _TArg2, _TArg3); \
  1489.         return (_Ret > 0 ? (_Ret - 1) : _Ret); \
  1490.     } \
  1491.     }
  1492.  
  1493. #define __DECLARE_CPP_OVERLOAD_INLINE_FUNC_0_0_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst) \
  1494.     __inline \
  1495.     _ReturnType __CRTDECL __insecure_##_FuncName(_DstType *_Dst)
  1496.  
  1497. #define __DEFINE_CPP_OVERLOAD_INLINE_FUNC_0_0_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst) \
  1498.     extern "C++" \
  1499.     { \
  1500.     template <typename _T> \
  1501.     inline \
  1502.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1503.     _ReturnType __CRTDECL _FuncName(_T &_Dst) _CRT_SECURE_CPP_NOTHROW \
  1504.     { \
  1505.         return __insecure_##_FuncName(static_cast<_DstType *>(_Dst)); \
  1506.     } \
  1507.     template <typename _T> \
  1508.     inline \
  1509.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1510.     _ReturnType __CRTDECL _FuncName(const _T &_Dst) _CRT_SECURE_CPP_NOTHROW \
  1511.     { \
  1512.         return __insecure_##_FuncName(static_cast<_DstType *>(_Dst)); \
  1513.     } \
  1514.     template <> \
  1515.     inline \
  1516.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1517.     _ReturnType __CRTDECL _FuncName(_DstType * &_Dst) _CRT_SECURE_CPP_NOTHROW \
  1518.     { \
  1519.         return __insecure_##_FuncName(_Dst); \
  1520.     } \
  1521.     template <size_t _Size> \
  1522.     inline \
  1523.     _ReturnType __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Size]) _CRT_SECURE_CPP_NOTHROW \
  1524.     { \
  1525.         _ReturnPolicy(_SecureFuncName(_Dst, _Size), _Dst); \
  1526.     } \
  1527.     template <> \
  1528.     inline \
  1529.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1530.     _ReturnType __CRTDECL _FuncName<1>(_DstType (&_Dst)[1]) _CRT_SECURE_CPP_NOTHROW \
  1531.     { \
  1532.         _ReturnPolicy(_SecureFuncName(_Dst, 1), _Dst); \
  1533.     } \
  1534.     }
  1535.  
  1536. #define __DECLARE_CPP_OVERLOAD_INLINE_FUNC_0_1_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst, _TType1, _TArg1) \
  1537.     __inline \
  1538.     _ReturnType __CRTDECL __insecure_##_FuncName(_DstType *_Dst, _TType1 _TArg1)
  1539.  
  1540. #define __DEFINE_CPP_OVERLOAD_INLINE_FUNC_0_1_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst, _TType1, _TArg1) \
  1541.     extern "C++" \
  1542.     { \
  1543.     template <typename _T> \
  1544.     inline \
  1545.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1546.     _ReturnType __CRTDECL _FuncName(_T &_Dst, _TType1 _TArg1) _CRT_SECURE_CPP_NOTHROW \
  1547.     { \
  1548.         return __insecure_##_FuncName(static_cast<_DstType *>(_Dst), _TArg1); \
  1549.     } \
  1550.     template <typename _T> \
  1551.     inline \
  1552.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1553.     _ReturnType __CRTDECL _FuncName(const _T &_Dst, _TType1 _TArg1) _CRT_SECURE_CPP_NOTHROW \
  1554.     { \
  1555.         return __insecure_##_FuncName(static_cast<_DstType *>(_Dst), _TArg1); \
  1556.     } \
  1557.     template <> \
  1558.     inline \
  1559.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1560.     _ReturnType __CRTDECL _FuncName(_DstType * &_Dst, _TType1 _TArg1) _CRT_SECURE_CPP_NOTHROW \
  1561.     { \
  1562.         return __insecure_##_FuncName(_Dst, _TArg1); \
  1563.     } \
  1564.     template <size_t _Size> \
  1565.     inline \
  1566.     _ReturnType __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Size], _TType1 _TArg1) _CRT_SECURE_CPP_NOTHROW \
  1567.     { \
  1568.         _ReturnPolicy(_SecureFuncName(_Dst, _Size, _TArg1), _Dst); \
  1569.     } \
  1570.     template <> \
  1571.     inline \
  1572.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1573.     _ReturnType __CRTDECL _FuncName<1>(_DstType (&_Dst)[1], _TType1 _TArg1) _CRT_SECURE_CPP_NOTHROW \
  1574.     { \
  1575.         _ReturnPolicy(_SecureFuncName(_Dst, 1, _TArg1), _Dst); \
  1576.     } \
  1577.     }
  1578.  
  1579. #define __DECLARE_CPP_OVERLOAD_INLINE_FUNC_0_2_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  1580.     __inline \
  1581.     _ReturnType __CRTDECL __insecure_##_FuncName(_DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2)
  1582.  
  1583. #define __DEFINE_CPP_OVERLOAD_INLINE_FUNC_0_2_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  1584.     extern "C++" \
  1585.     { \
  1586.     template <typename _T> \
  1587.     inline \
  1588.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1589.     _ReturnType __CRTDECL _FuncName(_T &_Dst, _TType1 _TArg1, _TType2 _TArg2) _CRT_SECURE_CPP_NOTHROW \
  1590.     { \
  1591.         return __insecure_##_FuncName(static_cast<_DstType *>(_Dst), _TArg1, _TArg2); \
  1592.     } \
  1593.     template <typename _T> \
  1594.     inline \
  1595.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1596.     _ReturnType __CRTDECL _FuncName(const _T &_Dst, _TType1 _TArg1, _TType2 _TArg2) _CRT_SECURE_CPP_NOTHROW \
  1597.     { \
  1598.         return __insecure_##_FuncName(static_cast<_DstType *>(_Dst), _TArg1, _TArg2); \
  1599.     } \
  1600.     template <> \
  1601.     inline \
  1602.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1603.     _ReturnType __CRTDECL _FuncName(_DstType * &_Dst, _TType1 _TArg1, _TType2 _TArg2) _CRT_SECURE_CPP_NOTHROW \
  1604.     { \
  1605.         return __insecure_##_FuncName(_Dst, _TArg1, _TArg2); \
  1606.     } \
  1607.     template <size_t _Size> \
  1608.     inline \
  1609.     _ReturnType __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2) _CRT_SECURE_CPP_NOTHROW \
  1610.     { \
  1611.         _ReturnPolicy(_SecureFuncName(_Dst, _Size, _TArg1, _TArg2), _Dst); \
  1612.     } \
  1613.     template <> \
  1614.     inline \
  1615.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1616.     _ReturnType __CRTDECL _FuncName<1>(_DstType (&_Dst)[1], _TType1 _TArg1, _TType2 _TArg2) _CRT_SECURE_CPP_NOTHROW \
  1617.     { \
  1618.         _ReturnPolicy(_SecureFuncName(_Dst, 1, _TArg1, _TArg2), _Dst); \
  1619.     } \
  1620.     }
  1621.  
  1622. #define __DECLARE_CPP_OVERLOAD_INLINE_FUNC_0_3_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \
  1623.     __inline \
  1624.     _ReturnType __CRTDECL __insecure_##_FuncName(_DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3)
  1625.  
  1626. #define __DEFINE_CPP_OVERLOAD_INLINE_FUNC_0_3_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \
  1627.     extern "C++" \
  1628.     { \
  1629.     template <typename _T> \
  1630.     inline \
  1631.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1632.     _ReturnType __CRTDECL _FuncName(_T &_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) _CRT_SECURE_CPP_NOTHROW \
  1633.     { \
  1634.         return __insecure_##_FuncName(static_cast<_DstType *>(_Dst), _TArg1, _TArg2, _TArg3); \
  1635.     } \
  1636.     template <typename _T> \
  1637.     inline \
  1638.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1639.     _ReturnType __CRTDECL _FuncName(const _T &_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) _CRT_SECURE_CPP_NOTHROW \
  1640.     { \
  1641.         return __insecure_##_FuncName(static_cast<_DstType *>(_Dst), _TArg1, _TArg2, _TArg3); \
  1642.     } \
  1643.     template <> \
  1644.     inline \
  1645.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1646.     _ReturnType __CRTDECL _FuncName(_DstType * &_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) _CRT_SECURE_CPP_NOTHROW \
  1647.     { \
  1648.         return __insecure_##_FuncName(_Dst, _TArg1, _TArg2, _TArg3); \
  1649.     } \
  1650.     template <size_t _Size> \
  1651.     inline \
  1652.     _ReturnType __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) _CRT_SECURE_CPP_NOTHROW \
  1653.     { \
  1654.         _ReturnPolicy(_SecureFuncName(_Dst, _Size, _TArg1, _TArg2, _TArg3), _Dst); \
  1655.     } \
  1656.     template <> \
  1657.     inline \
  1658.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1659.     _ReturnType __CRTDECL _FuncName<1>(_DstType (&_Dst)[1], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) _CRT_SECURE_CPP_NOTHROW \
  1660.     { \
  1661.         _ReturnPolicy(_SecureFuncName(_Dst, 1, _TArg1, _TArg2, _TArg3), _Dst); \
  1662.     } \
  1663.     }
  1664.  
  1665. #if !defined(RC_INVOKED) && _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT
  1666.  
  1667. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_0_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SalAttributeDst, _DstType, _Dst) \
  1668.     __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SalAttributeDst, _DstType, _Dst)
  1669.  
  1670. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_0_CGETS(_ReturnType, _DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst) \
  1671.     __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0_CGETS(_ReturnType, _DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst)
  1672.  
  1673. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_1_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1) \
  1674.     __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1)
  1675.  
  1676. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  1677.     __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_2_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
  1678.  
  1679. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_3_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \
  1680.     __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_3_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3)
  1681.  
  1682. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_4_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3, _TType4) \
  1683.     __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_4_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3, _TType4)
  1684.  
  1685. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_1_1_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _HType1, _HArg1, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1) \
  1686.     __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _HType1, _HArg1, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1)
  1687.  
  1688. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_2_0_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _HType1, _HArg1, _HType2, _HArg2, _SalAttributeDst, _DstType, _Dst) \
  1689.     __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_2_0_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _HType1, _HArg1, _HType2, _HArg2, _SalAttributeDst, _DstType, _Dst)
  1690.  
  1691. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_1_ARGLIST_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _VFuncName, _SecureVFuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1) \
  1692.     __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_ARGLIST_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _VFuncName, _SecureVFuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1)
  1693.  
  1694. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_ARGLIST(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _VFuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  1695.     __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_2_ARGLIST(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _VFuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
  1696.  
  1697. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_ARGLIST_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _VFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  1698.     __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_2_ARGLIST_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _VFuncName, _VFuncName##_s, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
  1699.  
  1700. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_SIZE_EX(_DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  1701.     __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_2_SIZE_EX(_DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
  1702.  
  1703. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_3_SIZE_EX(_DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \
  1704.     __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_3_SIZE_EX(_DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3)
  1705.  
  1706.  
  1707. #define __DECLARE_CPP_OVERLOAD_INLINE_NFUNC_0_0_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst) \
  1708.     __DECLARE_CPP_OVERLOAD_INLINE_FUNC_0_0_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType _DstType, _Dst)
  1709.  
  1710. #define __DEFINE_CPP_OVERLOAD_INLINE_NFUNC_0_0_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst) \
  1711.     __DEFINE_CPP_OVERLOAD_INLINE_FUNC_0_0_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst)
  1712.  
  1713. #define __DECLARE_CPP_OVERLOAD_INLINE_NFUNC_0_1_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst, _TType1, _TArg1) \
  1714.     __DECLARE_CPP_OVERLOAD_INLINE_FUNC_0_1_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType _DstType, _Dst, _TType1, _TArg1)
  1715.  
  1716. #define __DEFINE_CPP_OVERLOAD_INLINE_NFUNC_0_1_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst, _TType1, _TArg1) \
  1717.     __DEFINE_CPP_OVERLOAD_INLINE_FUNC_0_1_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst, _TType1, _TArg1)
  1718.  
  1719. #define __DECLARE_CPP_OVERLOAD_INLINE_NFUNC_0_2_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  1720.     __DECLARE_CPP_OVERLOAD_INLINE_FUNC_0_2_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
  1721.  
  1722. #define __DEFINE_CPP_OVERLOAD_INLINE_NFUNC_0_2_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  1723.     __DEFINE_CPP_OVERLOAD_INLINE_FUNC_0_2_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
  1724.  
  1725. #define __DECLARE_CPP_OVERLOAD_INLINE_NFUNC_0_3_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \
  1726.     __DECLARE_CPP_OVERLOAD_INLINE_FUNC_0_3_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3)
  1727.  
  1728. #define __DEFINE_CPP_OVERLOAD_INLINE_NFUNC_0_3_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \
  1729.     __DEFINE_CPP_OVERLOAD_INLINE_FUNC_0_3_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3)
  1730.  
  1731. #else
  1732.  
  1733. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_0_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SalAttributeDst, _DstType, _Dst) \
  1734.         _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst);
  1735.  
  1736. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_0_GETS(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _DstType, _Dst) \
  1737.     _CRT_INSECURE_DEPRECATE(_FuncName##_s) _DeclSpec _ReturnType __cdecl _FuncName(_DstType *_Dst);
  1738.  
  1739. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_1_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1) \
  1740.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1);
  1741.  
  1742. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  1743.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2);
  1744.  
  1745. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_3_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \
  1746.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3);
  1747.  
  1748. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_4_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3, _TType4, _TArg4) \
  1749.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3, _TType4 _TArg4);
  1750.  
  1751. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_1_1_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _HType1, _HArg1, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1) \
  1752.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_HType1 _HArg1, _SalAttributeDst _DstType *_Dst, _TType1 _TArg1);
  1753.  
  1754. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_2_0_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _HType1, _HArg1, _HType2, _HArg2, _SalAttributeDst, _DstType, _Dst) \
  1755.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_HType1 _HArg1, _HType2 _HArg2, _SalAttributeDst _DstType *_Dst);
  1756.  
  1757. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_1_ARGLIST_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName,_VFuncName, _SecureVFuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1) \
  1758.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, ...); \
  1759.     _CRT_INSECURE_DEPRECATE(_SecureVFuncName) _DeclSpec _ReturnType __cdecl _VFuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, va_list _Args);
  1760.  
  1761. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_ARGLIST(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _VFuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  1762.     _CRT_INSECURE_DEPRECATE(_FuncName##_s) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, ...); \
  1763.     _CRT_INSECURE_DEPRECATE(_VFuncName##_s) _DeclSpec _ReturnType __cdecl _VFuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, va_list _Args);
  1764.  
  1765. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_ARGLIST_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _VFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  1766.     _CRT_INSECURE_DEPRECATE(_FuncName##_s) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, ...); \
  1767.     _CRT_INSECURE_DEPRECATE(_VFuncName##_s) _DeclSpec _ReturnType __cdecl _VFuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, va_list _Args);
  1768.  
  1769. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_SIZE_EX(_DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  1770.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec size_t __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2);
  1771.  
  1772. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_3_SIZE_EX(_DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \
  1773.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec size_t __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3);
  1774.  
  1775.  
  1776. #define __DECLARE_CPP_OVERLOAD_INLINE_NFUNC_0_0_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst) \
  1777.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1778.     __inline \
  1779.     _ReturnType __CRTDECL _FuncName(_DstType *_Dst)
  1780.  
  1781. #define __DEFINE_CPP_OVERLOAD_INLINE_NFUNC_0_0_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst)
  1782.  
  1783. #define __DECLARE_CPP_OVERLOAD_INLINE_NFUNC_0_1_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst, _TType1, _TArg1) \
  1784.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1785.     __inline \
  1786.     _ReturnType __CRTDECL _FuncName(_DstType *_Dst, _TType1 _TArg1)
  1787.  
  1788. #define __DEFINE_CPP_OVERLOAD_INLINE_NFUNC_0_1_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst, _TType1, _TArg1)
  1789.  
  1790. #define __DECLARE_CPP_OVERLOAD_INLINE_NFUNC_0_2_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  1791.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1792.     __inline \
  1793.     _ReturnType __CRTDECL _FuncName(_DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2)
  1794.  
  1795. #define __DEFINE_CPP_OVERLOAD_INLINE_NFUNC_0_2_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
  1796.  
  1797. #define __DECLARE_CPP_OVERLOAD_INLINE_NFUNC_0_3_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \
  1798.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1799.     __inline \
  1800.     _ReturnType __CRTDECL _FuncName(_DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3)
  1801.  
  1802. #define __DEFINE_CPP_OVERLOAD_INLINE_NFUNC_0_3_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3)
  1803.  
  1804. #endif /* _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT */
  1805.  
  1806. #else
  1807.  
  1808. #define __RETURN_POLICY_SAME(_FunctionCall)
  1809. #define __RETURN_POLICY_DST(_FunctionCall)
  1810. #define __RETURN_POLICY_VOID(_FunctionCall)
  1811. #define __EMPTY_DECLSPEC
  1812.  
  1813. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SalAttributeDst, _DstType, _Dst) \
  1814.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst);
  1815.  
  1816. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0_CGETS(_ReturnType, _DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst) \
  1817.     _CRT_INSECURE_DEPRECATE(_FuncName##_s) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst);
  1818.  
  1819. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1) \
  1820.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1);
  1821.  
  1822. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_2_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  1823.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2);
  1824.  
  1825. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_3_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \
  1826.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3);
  1827.  
  1828. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_4_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3, _TType4, _TArg4) \
  1829.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3, _TType4 _TArg4);
  1830.  
  1831. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _HType1, _HArg1, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1) \
  1832.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_HType1 _HArg1, _SalAttributeDst _DstType *_Dst, _TType1 _TArg1);
  1833.  
  1834. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_2_0_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _HType1, _HArg1, _HType2, _HArg2, _SalAttributeDst, _DstType, _Dst) \
  1835.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_HType1 _HArg1, _HType2 _HArg2, _SalAttributeDst _DstType *_Dst);
  1836.  
  1837. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_ARGLIST_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _VFuncName, _SecureVFuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1) \
  1838.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, ...); \
  1839.     _CRT_INSECURE_DEPRECATE(_SecureVFuncName) _DeclSpec _ReturnType __cdecl _VFuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, va_list _Args);
  1840.  
  1841. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_2_ARGLIST_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _VFuncName, _SecureVFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  1842.     _CRT_INSECURE_DEPRECATE(_FuncName##_s) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, ...); \
  1843.     _CRT_INSECURE_DEPRECATE(_SecureVFuncName) _DeclSpec _ReturnType __cdecl _VFuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, va_list _Args);
  1844.  
  1845. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_2_SIZE_EX(_DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  1846.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec size_t __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2);
  1847.  
  1848. #define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_3_SIZE_EX(_DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \
  1849.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec size_t __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3);
  1850.  
  1851. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_0_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SalAttributeDst, _DstType, _Dst) \
  1852.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst);
  1853.  
  1854. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_0_GETS(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _DstType, _Dst) \
  1855.     _CRT_INSECURE_DEPRECATE(_FuncName##_s) _DeclSpec _ReturnType __cdecl _FuncName(_DstType *_Dst);
  1856.  
  1857. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_1_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1) \
  1858.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1);
  1859.  
  1860. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  1861.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2);
  1862.  
  1863. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_3_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \
  1864.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3);
  1865.  
  1866. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_4_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3, _TType4, _TArg4) \
  1867.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3, _TType4 _TArg4);
  1868.  
  1869. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_1_1_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _HType1, _HArg1, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1) \
  1870.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_HType1 _HArg1, _SalAttributeDst _DstType *_Dst, _TType1 _TArg1);
  1871.  
  1872. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_2_0_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _HType1, _HArg1, _HType2, _HArg2, _SalAttributeDst, _DstType, _Dst) \
  1873.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_HType1 _HArg1, _HType2 _HArg2, _SalAttributeDst _DstType *_Dst);
  1874.  
  1875. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_1_ARGLIST_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SecureFuncName, _VFuncName, _SecureVFuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1) \
  1876.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, ...); \
  1877.     _CRT_INSECURE_DEPRECATE(_SecureVFuncName) _DeclSpec _ReturnType __cdecl _VFuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, va_list _Args);
  1878.  
  1879. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_ARGLIST(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _VFuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  1880.     _CRT_INSECURE_DEPRECATE(_FuncName##_s) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, ...); \
  1881.     _CRT_INSECURE_DEPRECATE(_VFuncName##_s) _DeclSpec _ReturnType __cdecl _VFuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, va_list _Args);
  1882.  
  1883. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_ARGLIST_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _VFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  1884.     _CRT_INSECURE_DEPRECATE(_FuncName##_s) _DeclSpec _ReturnType __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, ...); \
  1885.     _CRT_INSECURE_DEPRECATE(_VFuncName##_s) _DeclSpec _ReturnType __cdecl _VFuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, va_list _Args);
  1886.  
  1887. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_SIZE_EX(_DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  1888.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec size_t __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2);
  1889.  
  1890. #define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_3_SIZE_EX(_DeclSpec, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \
  1891.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) _DeclSpec size_t __cdecl _FuncName(_SalAttributeDst _DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3);
  1892.  
  1893.  
  1894. #define __DECLARE_CPP_OVERLOAD_INLINE_FUNC_0_0_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst) \
  1895.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1896.     __inline \
  1897.     _ReturnType __CRTDECL _FuncName(_DstType *_Dst)
  1898.  
  1899. #define __DEFINE_CPP_OVERLOAD_INLINE_FUNC_0_0_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst)
  1900.  
  1901. #define __DECLARE_CPP_OVERLOAD_INLINE_FUNC_0_1_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst, _TType1, _TArg1) \
  1902.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1903.     __inline \
  1904.     _ReturnType __CRTDECL _FuncName(_DstType *_Dst, _TType1 _TArg1)
  1905.  
  1906. #define __DEFINE_CPP_OVERLOAD_INLINE_FUNC_0_1_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst, _TType1, _TArg1)
  1907.  
  1908. #define __DECLARE_CPP_OVERLOAD_INLINE_FUNC_0_2_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  1909.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1910.     __inline \
  1911.     _ReturnType __CRTDECL _FuncName(_DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2)
  1912.  
  1913. #define __DEFINE_CPP_OVERLOAD_INLINE_FUNC_0_2_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
  1914.  
  1915. #define __DECLARE_CPP_OVERLOAD_INLINE_FUNC_0_3_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \
  1916.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1917.     __inline \
  1918.     _ReturnType __CRTDECL _FuncName(_DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3)
  1919.  
  1920. #define __DEFINE_CPP_OVERLOAD_INLINE_FUNC_0_3_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3)
  1921.  
  1922. #define __DECLARE_CPP_OVERLOAD_INLINE_NFUNC_0_0_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst) \
  1923.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1924.     __inline \
  1925.     _ReturnType __CRTDECL _FuncName(_DstType *_Dst)
  1926.  
  1927. #define __DEFINE_CPP_OVERLOAD_INLINE_NFUNC_0_0_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst)
  1928.  
  1929. #define __DECLARE_CPP_OVERLOAD_INLINE_NFUNC_0_1_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst, _TType1, _TArg1) \
  1930.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1931.     __inline \
  1932.     _ReturnType __CRTDECL _FuncName(_DstType *_Dst, _TType1 _TArg1)
  1933.  
  1934. #define __DEFINE_CPP_OVERLOAD_INLINE_NFUNC_0_1_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst, _TType1, _TArg1)
  1935.  
  1936. #define __DECLARE_CPP_OVERLOAD_INLINE_NFUNC_0_2_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \
  1937.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1938.     __inline \
  1939.     _ReturnType __CRTDECL _FuncName(_DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2)
  1940.  
  1941. #define __DEFINE_CPP_OVERLOAD_INLINE_NFUNC_0_2_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
  1942.  
  1943. #define __DECLARE_CPP_OVERLOAD_INLINE_NFUNC_0_3_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \
  1944.     _CRT_INSECURE_DEPRECATE(_SecureFuncName) \
  1945.     __inline \
  1946.     _ReturnType __CRTDECL _FuncName(_DstType *_Dst, _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3)
  1947.  
  1948. #define __DEFINE_CPP_OVERLOAD_INLINE_NFUNC_0_3_EX(_ReturnType, _ReturnPolicy, _FuncName, _SecureFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3)
  1949.  
  1950. #endif /* _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES */
  1951. #endif
  1952.  
  1953. struct threadlocaleinfostruct;
  1954. struct threadmbcinfostruct;
  1955. typedef struct threadlocaleinfostruct * pthreadlocinfo;
  1956. typedef struct threadmbcinfostruct * pthreadmbcinfo;
  1957. struct __lc_time_data;
  1958.  
  1959. typedef struct localeinfo_struct
  1960. {
  1961.     pthreadlocinfo locinfo;
  1962.     pthreadmbcinfo mbcinfo;
  1963. } _locale_tstruct, *_locale_t;
  1964.  
  1965. #ifndef _TAGLC_ID_DEFINED
  1966. typedef struct tagLC_ID {
  1967.         unsigned short wLanguage;
  1968.         unsigned short wCountry;
  1969.         unsigned short wCodePage;
  1970. } LC_ID, *LPLC_ID;
  1971. #define _TAGLC_ID_DEFINED
  1972. #endif  /* _TAGLC_ID_DEFINED */
  1973.  
  1974. #ifndef _THREADLOCALEINFO
  1975. typedef struct threadlocaleinfostruct {
  1976.         int refcount;
  1977.         unsigned int lc_codepage;
  1978.         unsigned int lc_collate_cp;
  1979.         unsigned long lc_handle[6]; /* LCID */
  1980.         LC_ID lc_id[6];
  1981.         struct {
  1982.             char *locale;
  1983.             wchar_t *wlocale;
  1984.             int *refcount;
  1985.             int *wrefcount;
  1986.         } lc_category[6];
  1987.         int lc_clike;
  1988.         int mb_cur_max;
  1989.         int * lconv_intl_refcount;
  1990.         int * lconv_num_refcount;
  1991.         int * lconv_mon_refcount;
  1992.         struct lconv * lconv;
  1993.         int * ctype1_refcount;
  1994.         unsigned short * ctype1;
  1995.         const unsigned short * pctype;
  1996.         const unsigned char * pclmap;
  1997.         const unsigned char * pcumap;
  1998.         struct __lc_time_data * lc_time_curr;
  1999. } threadlocinfo;
  2000. #define _THREADLOCALEINFO
  2001. #endif
  2002.  
  2003. #ifdef  __cplusplus
  2004. }
  2005. #endif
  2006.  
  2007. #if defined(_PREFAST_) && defined(_CA_SHOULD_CHECK_RETURN)
  2008. #define _Check_return_opt_ _Check_return_
  2009. #else
  2010. #define _Check_return_opt_
  2011. #endif
  2012.  
  2013. #if defined(_PREFAST_) && defined(_CA_SHOULD_CHECK_RETURN_WER)
  2014. #define _Check_return_wat_ _Check_return_
  2015. #else
  2016. #define _Check_return_wat_
  2017. #endif
  2018.  
  2019. #if !defined(__midl) && !defined(MIDL_PASS) && defined(_PREFAST_)
  2020. #define __crt_typefix(ctype)              __declspec("SAL_typefix(" __CRT_STRINGIZE(ctype) ")")
  2021. #else
  2022. #define __crt_typefix(ctype)
  2023. #endif
  2024.  
  2025. #if (defined(__midl))
  2026. /* suppress tchar inlines */
  2027. #ifndef _NO_INLINING
  2028. #define _NO_INLINING
  2029. #endif
  2030. #endif
  2031.  
  2032. #ifndef _CRT_UNUSED
  2033. #define _CRT_UNUSED(x) (void)x
  2034. #endif
  2035.  
  2036. #pragma pack(pop)
  2037.  
  2038. #endif  /* _INC_CRTDEFS */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement