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