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