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) 123 _UCRT_DISABLE_CLANG_WARNINGS 124 125 _CRT_BEGIN_C_HEADER 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 254 extern "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 373 _ACRTIMP void __cdecl _invalid_parameter( 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, 378 _In_ uintptr_t 379 ); 380 #endif 381 382 _ACRTIMP_ALT void __cdecl _invalid_parameter_noinfo(void); 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, 391 _In_ uintptr_t _Reserved); 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 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 615 typedef int errno_t; 616 typedef unsigned short wint_t; 617 typedef unsigned short wctype_t; 618 typedef long __time32_t; 619 typedef __int64 __time64_t; 620 621 typedef struct __crt_locale_data_public 622 { 623 unsigned short const* _locale_pctype; 624 _Field_range_(1, 2) int _locale_mb_cur_max; 625 unsigned int _locale_lc_codepage; 626 } __crt_locale_data_public; 627 628 typedef struct __crt_locale_pointers 629 { 630 struct __crt_locale_data* locinfo; 631 struct __crt_multibyte_data* mbcinfo; 632 } __crt_locale_pointers; 633 634 typedef __crt_locale_pointers* _locale_t; 635 636 typedef struct _Mbstatet 637 { // state of a multibyte translation 638 unsigned long _Wchar; 639 unsigned short _Byte, _State; 640 } _Mbstatet; 641 642 typedef _Mbstatet mbstate_t; 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 656 typedef __time64_t time_t; 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 2083 _CRT_END_C_HEADER 2084 2085 _UCRT_RESTORE_CLANG_WARNINGS 2086 #pragma warning(pop) // _UCRT_DISABLED_WARNINGS 2087