STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
corecrt_wstdio.h
Go to the documentation of this file.
1 //
2 // corecrt_wstdio.h
3 //
4 // Copyright (c) Microsoft Corporation. All rights reserved.
5 //
6 // This file declares the wide character (wchar_t) I/O functionality, shared by
7 // <stdio.h> and <wchar.h>. It also defines several core I/O types, which are
8 // also shared by those two headers.
9 //
10 #pragma once
11 
12 #include <corecrt.h>
13 #include <corecrt_stdio_config.h>
14 
16 
17 
18 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
19 //
20 // Stream I/O Declarations Required by this Header
21 //
22 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
23 #ifndef _FILE_DEFINED
24  #define _FILE_DEFINED
25  typedef struct _iobuf
26  {
27  void* _Placeholder;
28  } FILE;
29 #endif
30 
31 _ACRTIMP_ALT FILE* __cdecl __acrt_iob_func(unsigned _Ix);
32 
33 #define stdin (__acrt_iob_func(0))
34 #define stdout (__acrt_iob_func(1))
35 #define stderr (__acrt_iob_func(2))
36 
37 #define WEOF ((wint_t)(0xFFFF))
38 
39 
40 
41 #if _CRT_FUNCTIONS_REQUIRED
42  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
43  //
44  // Wide Character Stream I/O Functions
45  //
46  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
48  _ACRTIMP wint_t __cdecl fgetwc(
50  );
51 
53  _ACRTIMP wint_t __cdecl _fgetwchar(void);
54 
56  _ACRTIMP wint_t __cdecl fputwc(
57  _In_ wchar_t _Character,
59 
61  _ACRTIMP wint_t __cdecl _fputwchar(
62  _In_ wchar_t _Character
63  );
64 
66  _ACRTIMP wint_t __cdecl getwc(
68  );
69 
71  _ACRTIMP wint_t __cdecl getwchar(void);
72 
73 
75  _Success_(return == _Buffer)
76  _ACRTIMP wchar_t* __cdecl fgetws(
80  );
81 
83  _ACRTIMP int __cdecl fputws(
84  _In_z_ wchar_t const* _Buffer,
85  _Inout_ FILE* _Stream
86  );
87 
89  _Success_(return != 0)
90  _ACRTIMP wchar_t* __cdecl _getws_s(
91  _Out_writes_z_(_BufferCount) wchar_t* _Buffer,
92  _In_ size_t _BufferCount
93  );
94 
96  _Success_(return != 0)
97  wchar_t*, _getws_s,
98  _Always_(_Post_z_) wchar_t, _Buffer
99  )
100 
102  _ACRTIMP wint_t __cdecl putwc(
103  _In_ wchar_t _Character,
104  _Inout_ FILE* _Stream
105  );
106 
108  _ACRTIMP wint_t __cdecl putwchar(
109  _In_ wchar_t _Character
110  );
111 
113  _ACRTIMP int __cdecl _putws(
114  _In_z_ wchar_t const* _Buffer
115  );
116 
118  _ACRTIMP wint_t __cdecl ungetwc(
119  _In_ wint_t _Character,
120  _Inout_ FILE* _Stream
121  );
122 
124  _ACRTIMP FILE * __cdecl _wfdopen(
125  _In_ int _FileHandle,
126  _In_z_ wchar_t const* _Mode
127  );
128 
130  _ACRTIMP FILE* __cdecl _wfopen(
131  _In_z_ wchar_t const* _FileName,
132  _In_z_ wchar_t const* _Mode
133  );
134 
136  _ACRTIMP errno_t __cdecl _wfopen_s(
138  _In_z_ wchar_t const* _FileName,
139  _In_z_ wchar_t const* _Mode
140  );
141 
144  _ACRTIMP FILE* __cdecl _wfreopen(
145  _In_z_ wchar_t const* _FileName,
146  _In_z_ wchar_t const* _Mode,
147  _Inout_ FILE* _OldStream
148  );
149 
151  _ACRTIMP errno_t __cdecl _wfreopen_s(
153  _In_z_ wchar_t const* _FileName,
154  _In_z_ wchar_t const* _Mode,
155  _Inout_ FILE* _OldStream
156  );
157 
159  _ACRTIMP FILE* __cdecl _wfsopen(
160  _In_z_ wchar_t const* _FileName,
161  _In_z_ wchar_t const* _Mode,
162  _In_ int _ShFlag
163  );
164 
165  _ACRTIMP void __cdecl _wperror(
166  _In_opt_z_ wchar_t const* _ErrorMessage
167  );
168 
169  #ifdef _CRT_USE_WINAPI_FAMILY_DESKTOP_APP
170 
172  _DCRTIMP FILE* __cdecl _wpopen(
173  _In_z_ wchar_t const* _Command,
174  _In_z_ wchar_t const* _Mode
175  );
176 
177  #endif
178 
179  _ACRTIMP int __cdecl _wremove(
180  _In_z_ wchar_t const* _FileName
181  );
182 
183  #pragma push_macro("_wtempnam")
184  #undef _wtempnam
185 
187  _ACRTIMP _CRTALLOCATOR wchar_t* __cdecl _wtempnam(
188  _In_opt_z_ wchar_t const* _Directory,
189  _In_opt_z_ wchar_t const* _FilePrefix
190  );
191 
192  #pragma pop_macro("_wtempnam")
193 
194  _Success_(return == 0)
196  _ACRTIMP errno_t __cdecl _wtmpnam_s(
197  _Out_writes_z_(_BufferCount) wchar_t* _Buffer,
198  _In_ size_t _BufferCount
199  );
200 
202  _Success_(return == 0)
203  errno_t, _wtmpnam_s,
204  _Always_(_Post_z_) wchar_t, _Buffer
205  )
206 
208  _Success_(return != 0)
210  _Pre_maybenull_ _Always_(_Post_z_), wchar_t, _Buffer
211  )
212 
213 
214 
215  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
216  //
217  // I/O Synchronization and _nolock family of I/O functions
218  //
219  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
222  _Inout_ FILE* _Stream
223  );
224 
227  _In_ wchar_t _Character,
228  _Inout_ FILE* _Stream
229  );
230 
232  _ACRTIMP wint_t __cdecl _getwc_nolock(
233  _Inout_ FILE* _Stream
234  );
235 
237  _ACRTIMP wint_t __cdecl _putwc_nolock(
238  _In_ wchar_t _Character,
239  _Inout_ FILE* _Stream
240  );
241 
244  _In_ wint_t _Character,
245  _Inout_ FILE* _Stream
246  );
247 
248  #if defined _CRT_DISABLE_PERFCRIT_LOCKS && !defined _DLL
249  #define fgetwc(stream) _getwc_nolock(stream)
250  #define fputwc(c, stream) _putwc_nolock(c, stream)
251  #define ungetwc(c, stream) _ungetwc_nolock(c, stream)
252  #endif
253 
254 
255 
256  // Variadic functions are not supported in managed code under /clr
257  #ifdef _M_CEE_MIXED
258  #pragma managed(push, off)
259  #endif
260 
261 
262 
263  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
264  //
265  // Wide Character Formatted Output Functions (Stream)
266  //
267  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
270  _In_ unsigned __int64 _Options,
271  _Inout_ FILE* _Stream,
272  _In_z_ _Printf_format_string_params_(2) wchar_t const* _Format,
275  );
276 
279  _In_ unsigned __int64 _Options,
280  _Inout_ FILE* _Stream,
281  _In_z_ _Printf_format_string_params_(2) wchar_t const* _Format,
284  );
285 
288  _In_ unsigned __int64 _Options,
289  _Inout_ FILE* _Stream,
290  _In_z_ _Printf_format_string_params_(2) wchar_t const* _Format,
293  );
294 
297  _Inout_ FILE* const _Stream,
298  _In_z_ _Printf_format_string_params_(2) wchar_t const* const _Format,
299  _In_opt_ _locale_t const _Locale,
301  )
302  #if defined _NO_CRT_STDIO_INLINE
303  ;
304  #else
305  {
306  return __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _Stream, _Format, _Locale, _ArgList);
307  }
308  #endif
309 
312  _Inout_ FILE* const _Stream,
313  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
314  va_list _ArgList
315  )
316  #if defined _NO_CRT_STDIO_INLINE
317  ;
318  #else
319  {
320  return _vfwprintf_l(_Stream, _Format, NULL, _ArgList);
321  }
322  #endif
323 
326  _Inout_ FILE* const _Stream,
327  _In_z_ _Printf_format_string_params_(2) wchar_t const* const _Format,
328  _In_opt_ _locale_t const _Locale,
329  va_list _ArgList
330  )
331  #if defined _NO_CRT_STDIO_INLINE
332  ;
333  #else
334  {
335  return __stdio_common_vfwprintf_s(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _Stream, _Format, _Locale, _ArgList);
336  }
337  #endif
338 
339  #if __STDC_WANT_SECURE_LIB__
340 
343  _Inout_ FILE* const _Stream,
344  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
345  va_list _ArgList
346  )
347  #if defined _NO_CRT_STDIO_INLINE
348  ;
349  #else
350  {
351  return _vfwprintf_s_l(_Stream, _Format, NULL, _ArgList);
352  }
353  #endif
354 
355  #endif
356 
359  _Inout_ FILE* const _Stream,
360  _In_z_ _Printf_format_string_params_(2) wchar_t const* const _Format,
361  _In_opt_ _locale_t const _Locale,
362  va_list _ArgList
363  )
364  #if defined _NO_CRT_STDIO_INLINE
365  ;
366  #else
367  {
368  return __stdio_common_vfwprintf_p(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _Stream, _Format, _Locale, _ArgList);
369  }
370  #endif
371 
374  _Inout_ FILE* const _Stream,
375  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
376  va_list _ArgList
377  )
378  #if defined _NO_CRT_STDIO_INLINE
379  ;
380  #else
381  {
382  return _vfwprintf_p_l(_Stream, _Format, NULL, _ArgList);
383  }
384  #endif
385 
388  _In_z_ _Printf_format_string_params_(2) wchar_t const* const _Format,
389  _In_opt_ _locale_t const _Locale,
390  va_list _ArgList
391  )
392  #if defined _NO_CRT_STDIO_INLINE
393  ;
394  #else
395  {
396  return _vfwprintf_l(stdout, _Format, _Locale, _ArgList);
397  }
398  #endif
399 
402  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
403  va_list _ArgList
404  )
405  #if defined _NO_CRT_STDIO_INLINE
406  ;
407  #else
408  {
409  return _vfwprintf_l(stdout, _Format, NULL, _ArgList);
410  }
411  #endif
412 
415  _In_z_ _Printf_format_string_params_(2) wchar_t const* const _Format,
416  _In_opt_ _locale_t const _Locale,
417  va_list _ArgList
418  )
419  #if defined _NO_CRT_STDIO_INLINE
420  ;
421  #else
422  {
423  return _vfwprintf_s_l(stdout, _Format, _Locale, _ArgList);
424  }
425  #endif
426 
427  #if __STDC_WANT_SECURE_LIB__
428 
431  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
432  va_list _ArgList
433  )
434  #if defined _NO_CRT_STDIO_INLINE
435  ;
436  #else
437  {
438  return _vfwprintf_s_l(stdout, _Format, NULL, _ArgList);
439  }
440  #endif
441 
442  #endif
443 
446  _In_z_ _Printf_format_string_params_(2) wchar_t const* const _Format,
447  _In_opt_ _locale_t const _Locale,
448  va_list _ArgList
449  )
450  #if defined _NO_CRT_STDIO_INLINE
451  ;
452  #else
453  {
454  return _vfwprintf_p_l(stdout, _Format, _Locale, _ArgList);
455  }
456  #endif
457 
460  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
461  va_list _ArgList
462  )
463  #if defined _NO_CRT_STDIO_INLINE
464  ;
465  #else
466  {
467  return _vfwprintf_p_l(stdout, _Format, NULL, _ArgList);
468  }
469  #endif
470 
473  _Inout_ FILE* const _Stream,
474  _In_z_ _Printf_format_string_params_(0) wchar_t const* const _Format,
475  _In_opt_ _locale_t const _Locale,
476  ...)
477  #if defined _NO_CRT_STDIO_INLINE
478  ;
479  #else
480  {
481  int _Result;
483  __crt_va_start(_ArgList, _Locale);
484  _Result = _vfwprintf_l(_Stream, _Format, _Locale, _ArgList);
485  __crt_va_end(_ArgList);
486  return _Result;
487  }
488  #endif
489 
492  _Inout_ FILE* const _Stream,
493  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
494  ...)
495  #if defined _NO_CRT_STDIO_INLINE
496  ;
497  #else
498  {
499  int _Result;
501  __crt_va_start(_ArgList, _Format);
502  _Result = _vfwprintf_l(_Stream, _Format, NULL, _ArgList);
503  __crt_va_end(_ArgList);
504  return _Result;
505  }
506  #endif
507 
510  _Inout_ FILE* const _Stream,
511  _In_z_ _Printf_format_string_params_(0) wchar_t const* const _Format,
512  _In_opt_ _locale_t const _Locale,
513  ...)
514  #if defined _NO_CRT_STDIO_INLINE
515  ;
516  #else
517  {
518  int _Result;
520  __crt_va_start(_ArgList, _Locale);
521  _Result = _vfwprintf_s_l(_Stream, _Format, _Locale, _ArgList);
522  __crt_va_end(_ArgList);
523  return _Result;
524  }
525  #endif
526 
527  #if __STDC_WANT_SECURE_LIB__
528 
531  _Inout_ FILE* const _Stream,
532  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
533  ...)
534  #if defined _NO_CRT_STDIO_INLINE
535  ;
536  #else
537  {
538  int _Result;
540  __crt_va_start(_ArgList, _Format);
541  _Result = _vfwprintf_s_l(_Stream, _Format, NULL, _ArgList);
542  __crt_va_end(_ArgList);
543  return _Result;
544  }
545  #endif
546 
547  #endif
548 
551  _Inout_ FILE* const _Stream,
552  _In_z_ _Printf_format_string_params_(0) wchar_t const* const _Format,
553  _In_opt_ _locale_t const _Locale,
554  ...)
555  #if defined _NO_CRT_STDIO_INLINE
556  ;
557  #else
558  {
559  int _Result;
561  __crt_va_start(_ArgList, _Locale);
562  _Result = _vfwprintf_p_l(_Stream, _Format, _Locale, _ArgList);
563  __crt_va_end(_ArgList);
564  return _Result;
565  }
566  #endif
567 
570  _Inout_ FILE* const _Stream,
571  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
572  ...)
573  #if defined _NO_CRT_STDIO_INLINE
574  ;
575  #else
576  {
577  int _Result;
579  __crt_va_start(_ArgList, _Format);
580  _Result = _vfwprintf_p_l(_Stream, _Format, NULL, _ArgList);
581  __crt_va_end(_ArgList);
582  return _Result;
583  }
584  #endif
585 
588  _In_z_ _Printf_format_string_params_(0) wchar_t const* const _Format,
589  _In_opt_ _locale_t const _Locale,
590  ...)
591  #if defined _NO_CRT_STDIO_INLINE
592  ;
593  #else
594  {
595  int _Result;
597  __crt_va_start(_ArgList, _Locale);
598  _Result = _vfwprintf_l(stdout, _Format, _Locale, _ArgList);
599  __crt_va_end(_ArgList);
600  return _Result;
601  }
602  #endif
603 
606  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
607  ...)
608  #if defined _NO_CRT_STDIO_INLINE
609  ;
610  #else
611  {
612  int _Result;
614  __crt_va_start(_ArgList, _Format);
615  _Result = _vfwprintf_l(stdout, _Format, NULL, _ArgList);
616  __crt_va_end(_ArgList);
617  return _Result;
618  }
619  #endif
620 
623  _In_z_ _Printf_format_string_params_(0) wchar_t const* const _Format,
624  _In_opt_ _locale_t const _Locale,
625  ...)
626  #if defined _NO_CRT_STDIO_INLINE
627  ;
628  #else
629  {
630  int _Result;
632  __crt_va_start(_ArgList, _Locale);
633  _Result = _vfwprintf_s_l(stdout, _Format, _Locale, _ArgList);
634  __crt_va_end(_ArgList);
635  return _Result;
636  }
637  #endif
638 
639  #if __STDC_WANT_SECURE_LIB__
640 
643  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
644  ...)
645  #if defined _NO_CRT_STDIO_INLINE
646  ;
647  #else
648  {
649  int _Result;
651  __crt_va_start(_ArgList, _Format);
652  _Result = _vfwprintf_s_l(stdout, _Format, NULL, _ArgList);
653  __crt_va_end(_ArgList);
654  return _Result;
655  }
656  #endif
657 
658  #endif
659 
662  _In_z_ _Printf_format_string_params_(0) wchar_t const* const _Format,
663  _In_opt_ _locale_t const _Locale,
664  ...)
665  #if defined _NO_CRT_STDIO_INLINE
666  ;
667  #else
668  {
669  int _Result;
671  __crt_va_start(_ArgList, _Locale);
672  _Result = _vfwprintf_p_l(stdout, _Format, _Locale, _ArgList);
673  __crt_va_end(_ArgList);
674  return _Result;
675  }
676  #endif
677 
680  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
681  ...)
682  #if defined _NO_CRT_STDIO_INLINE
683  ;
684  #else
685  {
686  int _Result;
688  __crt_va_start(_ArgList, _Format);
689  _Result = _vfwprintf_p_l(stdout, _Format, NULL, _ArgList);
690  __crt_va_end(_ArgList);
691  return _Result;
692  }
693  #endif
694 
695 
696  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
697  //
698  // Wide Character Formatted Input Functions (Stream)
699  //
700  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
702  _ACRTIMP int __cdecl __stdio_common_vfwscanf(
703  _In_ unsigned __int64 _Options,
704  _Inout_ FILE* _Stream,
705  _In_z_ _Scanf_format_string_params_(2) wchar_t const* _Format,
706  _In_opt_ _locale_t _Locale,
707  va_list _ArgList
708  );
709 
712  _Inout_ FILE* const _Stream,
713  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
714  _In_opt_ _locale_t const _Locale,
715  va_list _ArgList
716  )
717  #if defined _NO_CRT_STDIO_INLINE
718  ;
719  #else
720  {
723  _Stream, _Format, _Locale, _ArgList);
724  }
725  #endif
726 
729  _Inout_ FILE* const _Stream,
730  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
731  va_list _ArgList
732  )
733  #if defined _NO_CRT_STDIO_INLINE
734  ;
735  #else
736  {
737  return _vfwscanf_l(_Stream, _Format, NULL, _ArgList);
738  }
739  #endif
740 
743  _Inout_ FILE* const _Stream,
744  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
745  _In_opt_ _locale_t const _Locale,
746  va_list _ArgList
747  )
748  #if defined _NO_CRT_STDIO_INLINE
749  ;
750  #else
751  {
754  _Stream, _Format, _Locale, _ArgList);
755  }
756  #endif
757 
758  #if __STDC_WANT_SECURE_LIB__
759 
762  _Inout_ FILE* const _Stream,
763  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
764  va_list _ArgList
765  )
766  #if defined _NO_CRT_STDIO_INLINE
767  ;
768  #else
769  {
770  return _vfwscanf_s_l(_Stream, _Format, NULL, _ArgList);
771  }
772  #endif
773 
774  #endif
775 
777  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
778  _In_opt_ _locale_t const _Locale,
779  va_list _ArgList
780  )
781  #if defined _NO_CRT_STDIO_INLINE
782  ;
783  #else
784  {
785  return _vfwscanf_l(stdin, _Format, _Locale, _ArgList);
786  }
787  #endif
788 
791  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
792  va_list _ArgList
793  )
794  #if defined _NO_CRT_STDIO_INLINE
795  ;
796  #else
797  {
798  return _vfwscanf_l(stdin, _Format, NULL, _ArgList);
799  }
800  #endif
801 
804  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
805  _In_opt_ _locale_t const _Locale,
806  va_list _ArgList
807  )
808  #if defined _NO_CRT_STDIO_INLINE
809  ;
810  #else
811  {
812  return _vfwscanf_s_l(stdin, _Format, _Locale, _ArgList);
813  }
814  #endif
815 
816  #if __STDC_WANT_SECURE_LIB__
817 
820  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
821  va_list _ArgList
822  )
823  #if defined _NO_CRT_STDIO_INLINE
824  ;
825  #else
826  {
827  return _vfwscanf_s_l(stdin, _Format, NULL, _ArgList);
828  }
829  #endif
830 
831  #endif
832 
834  _CRT_STDIO_INLINE int __CRTDECL _fwscanf_l(
835  _Inout_ FILE* const _Stream,
836  _In_z_ _Scanf_format_string_params_(0) wchar_t const* const _Format,
837  _In_opt_ _locale_t const _Locale,
838  ...)
839  #if defined _NO_CRT_STDIO_INLINE // SCANF
840  ;
841  #else
842  {
843  int _Result;
845  __crt_va_start(_ArgList, _Locale);
846  _Result = _vfwscanf_l(_Stream, _Format, _Locale, _ArgList);
847  __crt_va_end(_ArgList);
848  return _Result;
849  }
850  #endif
851 
853  _CRT_STDIO_INLINE int __CRTDECL fwscanf(
854  _Inout_ FILE* const _Stream,
855  _In_z_ _Scanf_format_string_ wchar_t const* const _Format,
856  ...)
857  #if defined _NO_CRT_STDIO_INLINE // SCANF
858  ;
859  #else
860  {
861  int _Result;
863  __crt_va_start(_ArgList, _Format);
864  _Result = _vfwscanf_l(_Stream, _Format, NULL, _ArgList);
865  __crt_va_end(_ArgList);
866  return _Result;
867  }
868  #endif
869 
872  _Inout_ FILE* const _Stream,
873  _In_z_ _Scanf_s_format_string_params_(0) wchar_t const* const _Format,
874  _In_opt_ _locale_t const _Locale,
875  ...)
876  #if defined _NO_CRT_STDIO_INLINE // SCANF
877  ;
878  #else
879  {
880  int _Result;
882  __crt_va_start(_ArgList, _Locale);
883  _Result = _vfwscanf_s_l(_Stream, _Format, _Locale, _ArgList);
884  __crt_va_end(_ArgList);
885  return _Result;
886  }
887  #endif
888 
889  #if __STDC_WANT_SECURE_LIB__
890 
893  _Inout_ FILE* const _Stream,
894  _In_z_ _Scanf_s_format_string_ wchar_t const* const _Format,
895  ...)
896  #if defined _NO_CRT_STDIO_INLINE // SCANF
897  ;
898  #else
899  {
900  int _Result;
902  __crt_va_start(_ArgList, _Format);
903  _Result = _vfwscanf_s_l(_Stream, _Format, NULL, _ArgList);
904  __crt_va_end(_ArgList);
905  return _Result;
906  }
907  #endif
908 
909  #endif
910 
912  _CRT_STDIO_INLINE int __CRTDECL _wscanf_l(
913  _In_z_ _Scanf_format_string_params_(0) wchar_t const* const _Format,
914  _In_opt_ _locale_t const _Locale,
915  ...)
916  #if defined _NO_CRT_STDIO_INLINE // SCANF
917  ;
918  #else
919  {
920  int _Result;
922  __crt_va_start(_ArgList, _Locale);
923  _Result = _vfwscanf_l(stdin, _Format, _Locale, _ArgList);
924  __crt_va_end(_ArgList);
925  return _Result;
926  }
927  #endif
928 
930  _CRT_STDIO_INLINE int __CRTDECL wscanf(
931  _In_z_ _Scanf_format_string_ wchar_t const* const _Format,
932  ...)
933  #if defined _NO_CRT_STDIO_INLINE // SCANF
934  ;
935  #else
936  {
937  int _Result;
939  __crt_va_start(_ArgList, _Format);
940  _Result = _vfwscanf_l(stdin, _Format, NULL, _ArgList);
941  __crt_va_end(_ArgList);
942  return _Result;
943  }
944  #endif
945 
948  _In_z_ _Scanf_s_format_string_params_(0) wchar_t const* const _Format,
949  _In_opt_ _locale_t const _Locale,
950  ...)
951  #if defined _NO_CRT_STDIO_INLINE // SCANF
952  ;
953  #else
954  {
955  int _Result;
957  __crt_va_start(_ArgList, _Locale);
958  _Result = _vfwscanf_s_l(stdin, _Format, _Locale, _ArgList);
959  __crt_va_end(_ArgList);
960  return _Result;
961  }
962  #endif
963 
964  #if __STDC_WANT_SECURE_LIB__
965 
968  _In_z_ _Scanf_s_format_string_ wchar_t const* const _Format,
969  ...)
970  #if defined _NO_CRT_STDIO_INLINE // SCANF
971  ;
972  #else
973  {
974  int _Result;
976  __crt_va_start(_ArgList, _Format);
977  _Result = _vfwscanf_s_l(stdin, _Format, NULL, _ArgList);
978  __crt_va_end(_ArgList);
979  return _Result;
980  }
981  #endif
982 
983  #endif
984 
985 
986 
987  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
988  //
989  // Wide Character Formatted Output Functions (String)
990  //
991  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
992  #ifndef _CRT_NON_CONFORMING_SWPRINTFS
993  #define _SWPRINTFS_DEPRECATED _CRT_DEPRECATE_TEXT( \
994  "function has been changed to conform with the ISO C standard, " \
995  "adding an extra character count parameter. To use the traditional " \
996  "Microsoft version, set _CRT_NON_CONFORMING_SWPRINTFS.")
997  #else
998  #define _SWPRINTFS_DEPRECATED
999  #endif
1000 
1001  _Success_(return >= 0)
1003  _ACRTIMP int __cdecl __stdio_common_vswprintf(
1004  _In_ unsigned __int64 _Options,
1005  _Out_writes_opt_z_(_BufferCount) wchar_t* _Buffer,
1006  _In_ size_t _BufferCount,
1007  _In_z_ _Printf_format_string_params_(2) wchar_t const* _Format,
1008  _In_opt_ _locale_t _Locale,
1009  va_list _ArgList
1010  );
1011 
1012  _Success_(return >= 0)
1014  _ACRTIMP int __cdecl __stdio_common_vswprintf_s(
1015  _In_ unsigned __int64 _Options,
1016  _Out_writes_z_(_BufferCount) wchar_t* _Buffer,
1017  _In_ size_t _BufferCount,
1018  _In_z_ _Printf_format_string_params_(2) wchar_t const* _Format,
1019  _In_opt_ _locale_t _Locale,
1020  va_list _ArgList
1021  );
1022 
1023  _Success_(return >= 0)
1025  _ACRTIMP int __cdecl __stdio_common_vsnwprintf_s(
1026  _In_ unsigned __int64 _Options,
1027  _Out_writes_opt_z_(_BufferCount) wchar_t* _Buffer,
1028  _In_ size_t _BufferCount,
1029  _In_ size_t _MaxCount,
1030  _In_z_ _Printf_format_string_params_(2) wchar_t const* _Format,
1031  _In_opt_ _locale_t _Locale,
1032  va_list _ArgList
1033  );
1034 
1035  _Success_(return >= 0)
1037  _ACRTIMP int __cdecl __stdio_common_vswprintf_p(
1038  _In_ unsigned __int64 _Options,
1039  _Out_writes_z_(_BufferCount) wchar_t* _Buffer,
1040  _In_ size_t _BufferCount,
1041  _In_z_ _Printf_format_string_params_(2) wchar_t const* _Format,
1042  _In_opt_ _locale_t _Locale,
1043  va_list _ArgList
1044  );
1045 
1046  _Success_(return >= 0)
1047  _Check_return_opt_ _CRT_INSECURE_DEPRECATE(_vsnwprintf_s_l)
1048  _CRT_STDIO_INLINE int __CRTDECL _vsnwprintf_l(
1049  _Out_writes_opt_(_BufferCount) _Post_maybez_ wchar_t* const _Buffer,
1050  _In_ size_t const _BufferCount,
1051  _In_z_ _Printf_format_string_params_(2) wchar_t const* const _Format,
1052  _In_opt_ _locale_t const _Locale,
1053  va_list _ArgList
1054  )
1055  #if defined _NO_CRT_STDIO_INLINE
1056  ;
1057  #else
1058  {
1059  int const _Result = __stdio_common_vswprintf(
1061  _Buffer, _BufferCount, _Format, _Locale, _ArgList);
1062 
1063  return _Result < 0 ? -1 : _Result;
1064  }
1065  #endif
1066 
1067  #pragma warning(push)
1068  #pragma warning(disable: 4793)
1069 
1070  _Success_(return >= 0)
1072  _CRT_STDIO_INLINE int __CRTDECL _vsnwprintf_s_l(
1073  _Out_writes_opt_(_BufferCount) _Always_(_Post_z_) wchar_t* const _Buffer,
1074  _In_ size_t const _BufferCount,
1075  _In_ size_t const _MaxCount,
1076  _In_z_ _Printf_format_string_params_(2) wchar_t const* const _Format,
1077  _In_opt_ _locale_t const _Locale,
1078  va_list _ArgList
1079  )
1080  #if defined _NO_CRT_STDIO_INLINE
1081  ;
1082  #else
1083  {
1084  int const _Result = __stdio_common_vsnwprintf_s(
1086  _Buffer, _BufferCount, _MaxCount, _Format, _Locale, _ArgList);
1087 
1088  return _Result < 0 ? -1 : _Result;
1089  }
1090  #endif
1091 
1092  _Success_(return >= 0)
1094  _CRT_STDIO_INLINE int __CRTDECL _vsnwprintf_s(
1095  _Out_writes_opt_(_BufferCount) _Always_(_Post_z_) wchar_t* const _Buffer,
1096  _In_ size_t const _BufferCount,
1097  _In_ size_t const _MaxCount,
1098  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
1099  va_list _ArgList
1100  )
1101  #if defined _NO_CRT_STDIO_INLINE
1102  ;
1103  #else
1104  {
1105  return _vsnwprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, NULL, _ArgList);
1106  }
1107  #endif
1108 
1110  _Success_(return >= 0)
1111  int, __RETURN_POLICY_SAME, _CRT_STDIO_INLINE, __CRTDECL, _snwprintf, _vsnwprintf,
1112  _Pre_notnull_ _Post_maybez_ wchar_t,
1113  _Out_writes_opt_(_BufferCount) _Post_maybez_, wchar_t, _Buffer,
1114  _In_ size_t, _BufferCount,
1115  _In_z_ _Printf_format_string_ wchar_t const*, _Format
1116  )
1117 
1118  #pragma warning(pop)
1119 
1120  _Success_(return >= 0)
1121  _Check_return_opt_ _CRT_INSECURE_DEPRECATE(_vsnwprintf_s)
1122  _CRT_STDIO_INLINE int __CRTDECL _vsnwprintf(
1123  _Out_writes_opt_(_BufferCount) _Post_maybez_ wchar_t* _Buffer,
1124  _In_ size_t _BufferCount,
1125  _In_z_ _Printf_format_string_ wchar_t const* _Format,
1126  va_list _ArgList
1127  )
1128  #if defined _NO_CRT_STDIO_INLINE
1129  ;
1130  #else
1131  {
1132  #pragma warning(push)
1133  #pragma warning(disable: 4996) // Deprecation
1134  return _vsnwprintf_l(_Buffer, _BufferCount, _Format, NULL, _ArgList);
1135  #pragma warning(pop)
1136  }
1137  #endif
1138 
1140  _Success_(return >= 0)
1141  int, _vsnwprintf_s,
1142  _Always_(_Post_z_) wchar_t, _Buffer,
1143  _In_ size_t, _BufferCount,
1144  _In_z_ _Printf_format_string_ wchar_t const*, _Format,
1145  va_list, _ArgList
1146  )
1147 
1148  _Success_(return >= 0)
1150  _CRT_STDIO_INLINE int __CRTDECL _vswprintf_c_l(
1151  _Out_writes_opt_(_BufferCount) _Always_(_Post_z_) wchar_t* const _Buffer,
1152  _In_ size_t const _BufferCount,
1153  _In_z_ _Printf_format_string_params_(2) wchar_t const* const _Format,
1154  _In_opt_ _locale_t const _Locale,
1155  va_list _ArgList
1156  )
1157  #if defined _NO_CRT_STDIO_INLINE
1158  ;
1159  #else
1160  {
1161  int const _Result = __stdio_common_vswprintf(
1163  _Buffer, _BufferCount, _Format, _Locale, _ArgList);
1164 
1165  return _Result < 0 ? -1 : _Result;
1166  }
1167  #endif
1168 
1169  _Success_(return >= 0)
1171  _CRT_STDIO_INLINE int __CRTDECL _vswprintf_c(
1172  _Out_writes_opt_(_BufferCount) _Always_(_Post_z_) wchar_t* const _Buffer,
1173  _In_ size_t const _BufferCount,
1174  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
1175  va_list _ArgList
1176  )
1177  #if defined _NO_CRT_STDIO_INLINE
1178  ;
1179  #else
1180  {
1181  return _vswprintf_c_l(_Buffer, _BufferCount, _Format, NULL, _ArgList);
1182  }
1183  #endif
1184 
1185  _Success_(return >= 0)
1187  _CRT_STDIO_INLINE int __CRTDECL _vswprintf_l(
1188  _Out_writes_opt_(_BufferCount) _Always_(_Post_z_) wchar_t* const _Buffer,
1189  _In_ size_t const _BufferCount,
1190  _In_z_ _Printf_format_string_params_(2) wchar_t const* const _Format,
1191  _In_opt_ _locale_t const _Locale,
1192  va_list _ArgList
1193  )
1194  #if defined _NO_CRT_STDIO_INLINE
1195  ;
1196  #else
1197  {
1198  #pragma warning(push)
1199  #pragma warning(disable: 4996) // Deprecation
1200  return _vswprintf_c_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);
1201  #pragma warning(pop)
1202  }
1203  #endif
1204 
1205  _Success_(return >= 0)
1207  _CRT_STDIO_INLINE int __CRTDECL __vswprintf_l(
1208  _Pre_notnull_ _Always_(_Post_z_) wchar_t* const _Buffer,
1209  _In_z_ _Printf_format_string_params_(2) wchar_t const* const _Format,
1210  _In_opt_ _locale_t const _Locale,
1211  va_list _ArgList
1212  )
1213  #if defined _NO_CRT_STDIO_INLINE
1214  ;
1215  #else
1216  {
1217  return _vswprintf_l(_Buffer, (size_t)-1, _Format, _Locale, _ArgList);
1218  }
1219  #endif
1220 
1221  _Success_(return >= 0)
1223  _CRT_STDIO_INLINE int __CRTDECL _vswprintf(
1224  _Pre_notnull_ _Always_(_Post_z_) wchar_t* const _Buffer,
1225  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
1226  va_list _ArgList
1227  )
1228  #if defined _NO_CRT_STDIO_INLINE
1229  ;
1230  #else
1231  {
1232  return _vswprintf_l(_Buffer, (size_t)-1, _Format, NULL, _ArgList);
1233  }
1234  #endif
1235 
1236  _Success_(return >= 0)
1238  _CRT_STDIO_INLINE int __CRTDECL vswprintf(
1239  _Out_writes_opt_(_BufferCount) _Always_(_Post_z_) wchar_t* const _Buffer,
1240  _In_ size_t const _BufferCount,
1241  _In_z_ _Printf_format_string_params_(1) wchar_t const* const _Format,
1242  va_list _ArgList
1243  )
1244  #if defined _NO_CRT_STDIO_INLINE
1245  ;
1246  #else
1247  {
1248  return _vswprintf_c_l(_Buffer, _BufferCount, _Format, NULL, _ArgList);
1249  }
1250  #endif
1251 
1252  _Success_(return >= 0)
1254  _CRT_STDIO_INLINE int __CRTDECL _vswprintf_s_l(
1255  _Out_writes_(_BufferCount) _Always_(_Post_z_) wchar_t* const _Buffer,
1256  _In_ size_t const _BufferCount,
1257  _In_z_ _Printf_format_string_params_(2) wchar_t const* const _Format,
1258  _In_opt_ _locale_t const _Locale,
1259  va_list _ArgList
1260  )
1261  #if defined _NO_CRT_STDIO_INLINE
1262  ;
1263  #else
1264  {
1265  int const _Result = __stdio_common_vswprintf_s(
1267  _Buffer, _BufferCount, _Format, _Locale, _ArgList);
1268 
1269  return _Result < 0 ? -1 : _Result;
1270  }
1271  #endif
1272 
1273  #if __STDC_WANT_SECURE_LIB__
1274 
1275  _Success_(return >= 0)
1276  _CRT_STDIO_INLINE int __CRTDECL vswprintf_s(
1277  _Out_writes_(_BufferCount) _Always_(_Post_z_) wchar_t* const _Buffer,
1278  _In_ size_t const _BufferCount,
1279  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
1280  va_list _ArgList
1281  )
1282  #if defined _NO_CRT_STDIO_INLINE
1283  ;
1284  #else
1285  {
1286  return _vswprintf_s_l(_Buffer, _BufferCount, _Format, NULL, _ArgList);
1287  }
1288  #endif
1289 
1290  #endif
1291 
1293  _Success_(return >= 0)
1294  int, vswprintf_s,
1295  _Always_(_Post_z_) wchar_t, _Buffer,
1296  _In_z_ _Printf_format_string_ wchar_t const*, _Format,
1297  va_list, _ArgList
1298  )
1299 
1300  _Success_(return >= 0)
1302  _CRT_STDIO_INLINE int __CRTDECL _vswprintf_p_l(
1303  _Out_writes_(_BufferCount) _Always_(_Post_z_) wchar_t* const _Buffer,
1304  _In_ size_t const _BufferCount,
1305  _In_z_ _Printf_format_string_params_(2) wchar_t const* const _Format,
1306  _In_opt_ _locale_t const _Locale,
1307  va_list _ArgList
1308  )
1309  #if defined _NO_CRT_STDIO_INLINE
1310  ;
1311  #else
1312  {
1313  int const _Result = __stdio_common_vswprintf_p(
1315  _Buffer, _BufferCount, _Format, _Locale, _ArgList);
1316 
1317  return _Result < 0 ? -1 : _Result;
1318  }
1319  #endif
1320 
1321  _Success_(return >= 0)
1323  _CRT_STDIO_INLINE int __CRTDECL _vswprintf_p(
1324  _Out_writes_(_BufferCount) _Always_(_Post_z_) wchar_t* const _Buffer,
1325  _In_ size_t const _BufferCount,
1326  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
1327  va_list _ArgList
1328  )
1329  #if defined _NO_CRT_STDIO_INLINE
1330  ;
1331  #else
1332  {
1333  return _vswprintf_p_l(_Buffer, _BufferCount, _Format, NULL, _ArgList);
1334  }
1335  #endif
1336 
1337  _Success_(return >= 0)
1339  _CRT_STDIO_INLINE int __CRTDECL _vscwprintf_l(
1340  _In_z_ _Printf_format_string_params_(2) wchar_t const* const _Format,
1341  _In_opt_ _locale_t const _Locale,
1342  va_list _ArgList
1343  )
1344  #if defined _NO_CRT_STDIO_INLINE
1345  ;
1346  #else
1347  {
1348  int const _Result = __stdio_common_vswprintf(
1350  NULL, 0, _Format, _Locale, _ArgList);
1351 
1352  return _Result < 0 ? -1 : _Result;
1353  }
1354  #endif
1355 
1356  _Success_(return >= 0)
1358  _CRT_STDIO_INLINE int __CRTDECL _vscwprintf(
1359  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
1360  va_list _ArgList
1361  )
1362  #if defined _NO_CRT_STDIO_INLINE
1363  ;
1364  #else
1365  {
1366  return _vscwprintf_l(_Format, NULL, _ArgList);
1367  }
1368  #endif
1369 
1370  _Success_(return >= 0)
1372  _CRT_STDIO_INLINE int __CRTDECL _vscwprintf_p_l(
1373  _In_z_ _Printf_format_string_params_(2) wchar_t const* const _Format,
1374  _In_opt_ _locale_t const _Locale,
1375  va_list _ArgList
1376  )
1377  #if defined _NO_CRT_STDIO_INLINE
1378  ;
1379  #else
1380  {
1381  int const _Result = __stdio_common_vswprintf_p(
1383  NULL, 0, _Format, _Locale, _ArgList);
1384 
1385  return _Result < 0 ? -1 : _Result;
1386  }
1387  #endif
1388 
1389  _Success_(return >= 0)
1391  _CRT_STDIO_INLINE int __CRTDECL _vscwprintf_p(
1392  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
1393  va_list _ArgList
1394  )
1395  #if defined _NO_CRT_STDIO_INLINE
1396  ;
1397  #else
1398  {
1399  return _vscwprintf_p_l(_Format, NULL, _ArgList);
1400  }
1401  #endif
1402 
1403  _Success_(return >= 0)
1405  _CRT_STDIO_INLINE int __CRTDECL __swprintf_l(
1406  _Pre_notnull_ _Always_(_Post_z_) wchar_t* const _Buffer,
1407  _In_z_ _Printf_format_string_params_(2) wchar_t const* const _Format,
1408  _In_opt_ _locale_t const _Locale,
1409  ...)
1410  #if defined _NO_CRT_STDIO_INLINE
1411  ;
1412  #else
1413  {
1414  int _Result;
1415  va_list _ArgList;
1416  __crt_va_start(_ArgList, _Locale);
1417  _Result = __vswprintf_l(_Buffer, _Format, _Locale, _ArgList);
1418  __crt_va_end(_ArgList);
1419  return _Result;
1420  }
1421  #endif
1422 
1423  _Success_(return >= 0)
1425  _CRT_STDIO_INLINE int __CRTDECL _swprintf_l(
1426  _Out_writes_opt_(_BufferCount) _Always_(_Post_z_) wchar_t* const _Buffer,
1427  _In_ size_t const _BufferCount,
1428  _In_z_ _Printf_format_string_params_(0) wchar_t const* const _Format,
1429  _In_opt_ _locale_t const _Locale,
1430  ...)
1431  #if defined _NO_CRT_STDIO_INLINE
1432  ;
1433  #else
1434  {
1435  int _Result;
1436  va_list _ArgList;
1437  __crt_va_start(_ArgList, _Locale);
1438  _Result = _vswprintf_c_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);
1439  __crt_va_end(_ArgList);
1440  return _Result;
1441  }
1442  #endif
1443 
1444  _Success_(return >= 0)
1446  _CRT_STDIO_INLINE int __CRTDECL _swprintf(
1447  _Pre_notnull_ _Always_(_Post_z_) wchar_t* const _Buffer,
1448  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
1449  ...)
1450  #if defined _NO_CRT_STDIO_INLINE
1451  ;
1452  #else
1453  {
1454  int _Result;
1455  va_list _ArgList;
1456  __crt_va_start(_ArgList, _Format);
1457  _Result = __vswprintf_l(_Buffer, _Format, NULL, _ArgList);
1458  __crt_va_end(_ArgList);
1459  return _Result;
1460  }
1461  #endif
1462 
1463  _Success_(return >= 0)
1465  _CRT_STDIO_INLINE int __CRTDECL swprintf(
1466  _Out_writes_opt_(_BufferCount) _Always_(_Post_z_) wchar_t* const _Buffer,
1467  _In_ size_t const _BufferCount,
1468  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
1469  ...)
1470  #if defined _NO_CRT_STDIO_INLINE
1471  ;
1472  #else
1473  {
1474  int _Result;
1475  va_list _ArgList;
1476  __crt_va_start(_ArgList, _Format);
1477  _Result = _vswprintf_c_l(_Buffer, _BufferCount, _Format, NULL, _ArgList);
1478  __crt_va_end(_ArgList);
1479  return _Result;
1480  }
1481  #endif
1482 
1483  #pragma warning(push)
1484  // Warning 4793: The compiler cannot compile function into managed code, even though the /clr compiler option is specified.
1485  // Warning 4996: 'function': was declared deprecated
1486  #pragma warning(disable:4793 4996)
1487 
1489  _Success_(return >= 0)
1490  int, __RETURN_POLICY_SAME, _CRT_STDIO_INLINE, __CRTDECL, __swprintf_l, __vswprintf_l, _vswprintf_s_l,
1491  _Pre_notnull_ _Always_(_Post_z_) wchar_t,
1492  _Pre_notnull_ _Always_(_Post_z_), wchar_t, _Buffer,
1493  _In_z_ _Printf_format_string_params_(2) wchar_t const*, _Format,
1494  _In_opt_ _locale_t, _Locale
1495  )
1496 
1498  _Success_(return >= 0)
1499  int, __RETURN_POLICY_SAME, _CRT_STDIO_INLINE, __CRTDECL, _swprintf, swprintf_s, _vswprintf, vswprintf_s,
1500  _Pre_notnull_ _Always_(_Post_z_), wchar_t, _Buffer,
1501  _In_z_ _Printf_format_string_ wchar_t const*, _Format
1502  )
1503 
1504  #pragma warning(pop)
1505 
1506  _Success_(return >= 0)
1508  _CRT_STDIO_INLINE int __CRTDECL _swprintf_s_l(
1509  _Out_writes_(_BufferCount) _Always_(_Post_z_) wchar_t* const _Buffer,
1510  _In_ size_t const _BufferCount,
1511  _In_z_ _Printf_format_string_params_(0) wchar_t const* const _Format,
1512  _In_opt_ _locale_t const _Locale,
1513  ...)
1514  #if defined _NO_CRT_STDIO_INLINE
1515  ;
1516  #else
1517  {
1518  int _Result;
1519  va_list _ArgList;
1520  __crt_va_start(_ArgList, _Locale);
1521  _Result = _vswprintf_s_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);
1522  __crt_va_end(_ArgList);
1523  return _Result;
1524  }
1525  #endif
1526 
1527  #if __STDC_WANT_SECURE_LIB__
1528 
1529  _Success_(return >= 0)
1530  _CRT_STDIO_INLINE int __CRTDECL swprintf_s(
1531  _Out_writes_(_BufferCount) _Always_(_Post_z_) wchar_t* const _Buffer,
1532  _In_ size_t const _BufferCount,
1533  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
1534  ...)
1535  #if defined _NO_CRT_STDIO_INLINE
1536  ;
1537  #else
1538  {
1539  int _Result;
1540  va_list _ArgList;
1541  __crt_va_start(_ArgList, _Format);
1542  _Result = _vswprintf_s_l(_Buffer, _BufferCount, _Format, NULL, _ArgList);
1543  __crt_va_end(_ArgList);
1544  return _Result;
1545  }
1546  #endif
1547 
1548  #endif
1549 
1551  _Success_(return >= 0)
1552  int, swprintf_s, vswprintf_s,
1553  _Always_(_Post_z_) wchar_t, _Buffer,
1554  _In_z_ _Printf_format_string_ wchar_t const*, _Format
1555  )
1556 
1557  _Success_(return >= 0)
1559  _CRT_STDIO_INLINE int __CRTDECL _swprintf_p_l(
1560  _Out_writes_(_BufferCount) _Always_(_Post_z_) wchar_t* const _Buffer,
1561  _In_ size_t const _BufferCount,
1562  _In_z_ _Printf_format_string_params_(0) wchar_t const* const _Format,
1563  _In_opt_ _locale_t const _Locale,
1564  ...)
1565  #if defined _NO_CRT_STDIO_INLINE
1566  ;
1567  #else
1568  {
1569  int _Result;
1570  va_list _ArgList;
1571  __crt_va_start(_ArgList, _Locale);
1572  _Result = _vswprintf_p_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);
1573  __crt_va_end(_ArgList);
1574  return _Result;
1575  }
1576  #endif
1577 
1578  _Success_(return >= 0)
1580  _CRT_STDIO_INLINE int __CRTDECL _swprintf_p(
1581  _Out_writes_(_BufferCount) _Always_(_Post_z_) wchar_t* const _Buffer,
1582  _In_ size_t const _BufferCount,
1583  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
1584  ...)
1585  #if defined _NO_CRT_STDIO_INLINE
1586  ;
1587  #else
1588  {
1589  int _Result;
1590  va_list _ArgList;
1591  __crt_va_start(_ArgList, _Format);
1592  _Result = _vswprintf_p_l(_Buffer, _BufferCount, _Format, NULL, _ArgList);
1593  __crt_va_end(_ArgList);
1594  return _Result;
1595  }
1596  #endif
1597 
1598  _Success_(return >= 0)
1600  _CRT_STDIO_INLINE int __CRTDECL _swprintf_c_l(
1601  _Out_writes_opt_(_BufferCount) _Always_(_Post_z_) wchar_t* const _Buffer,
1602  _In_ size_t const _BufferCount,
1603  _In_z_ _Printf_format_string_params_(0) wchar_t const* const _Format,
1604  _In_opt_ _locale_t const _Locale,
1605  ...)
1606  #if defined _NO_CRT_STDIO_INLINE
1607  ;
1608  #else
1609  {
1610  int _Result;
1611  va_list _ArgList;
1612  __crt_va_start(_ArgList, _Locale);
1613  _Result = _vswprintf_c_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);
1614  __crt_va_end(_ArgList);
1615  return _Result;
1616  }
1617  #endif
1618 
1619  _Success_(return >= 0)
1621  _CRT_STDIO_INLINE int __CRTDECL _swprintf_c(
1622  _Out_writes_opt_(_BufferCount) _Always_(_Post_z_) wchar_t* const _Buffer,
1623  _In_ size_t const _BufferCount,
1624  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
1625  ...)
1626  #if defined _NO_CRT_STDIO_INLINE
1627  ;
1628  #else
1629  {
1630  int _Result;
1631  va_list _ArgList;
1632  __crt_va_start(_ArgList, _Format);
1633  _Result = _vswprintf_c_l(_Buffer, _BufferCount, _Format, NULL, _ArgList);
1634  __crt_va_end(_ArgList);
1635  return _Result;
1636  }
1637  #endif
1638 
1639  _Success_(return >= 0)
1640  _Check_return_opt_ _CRT_INSECURE_DEPRECATE(_snwprintf_s_l)
1641  _CRT_STDIO_INLINE int __CRTDECL _snwprintf_l(
1642  _Out_writes_opt_(_BufferCount) _Post_maybez_ wchar_t* const _Buffer,
1643  _In_ size_t const _BufferCount,
1644  _In_z_ _Printf_format_string_params_(0) wchar_t const* const _Format,
1645  _In_opt_ _locale_t const _Locale,
1646  ...)
1647  #if defined _NO_CRT_STDIO_INLINE
1648  ;
1649  #else
1650  {
1651  int _Result;
1652  va_list _ArgList;
1653  __crt_va_start(_ArgList, _Locale);
1654 
1655  #pragma warning(push)
1656  #pragma warning(disable: 4996) // Deprecation
1657  _Result = _vsnwprintf_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);
1658  #pragma warning(pop)
1659 
1660  __crt_va_end(_ArgList);
1661  return _Result;
1662  }
1663  #endif
1664 
1665  _Success_(return >= 0)
1667  _CRT_STDIO_INLINE int __CRTDECL _snwprintf(
1668  _Out_writes_opt_(_BufferCount) _Post_maybez_ wchar_t* _Buffer,
1669  _In_ size_t _BufferCount,
1670  _In_z_ _Printf_format_string_ wchar_t const* _Format,
1671  ...)
1672  #if defined _NO_CRT_STDIO_INLINE
1673  ;
1674  #else
1675  {
1676  int _Result;
1677  va_list _ArgList;
1678  __crt_va_start(_ArgList, _Format);
1679 
1680  #pragma warning(push)
1681  #pragma warning(disable: 4996) // Deprecation
1682  _Result = _vsnwprintf_l(_Buffer, _BufferCount, _Format, NULL, _ArgList);
1683  #pragma warning(pop)
1684 
1685  __crt_va_end(_ArgList);
1686  return _Result;
1687  }
1688  #endif
1689 
1690  _Success_(return >= 0)
1692  _CRT_STDIO_INLINE int __CRTDECL _snwprintf_s_l(
1693  _Out_writes_opt_(_BufferCount) _Always_(_Post_z_) wchar_t* const _Buffer,
1694  _In_ size_t const _BufferCount,
1695  _In_ size_t const _MaxCount,
1696  _In_z_ _Printf_format_string_params_(0) wchar_t const* const _Format,
1697  _In_opt_ _locale_t const _Locale,
1698  ...)
1699  #if defined _NO_CRT_STDIO_INLINE
1700  ;
1701  #else
1702  {
1703  int _Result;
1704  va_list _ArgList;
1705  __crt_va_start(_ArgList, _Locale);
1706  _Result = _vsnwprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, _Locale, _ArgList);
1707  __crt_va_end(_ArgList);
1708  return _Result;
1709  }
1710  #endif
1711 
1712  _Success_(return >= 0)
1714  _CRT_STDIO_INLINE int __CRTDECL _snwprintf_s(
1715  _Out_writes_opt_(_BufferCount) _Always_(_Post_z_) wchar_t* const _Buffer,
1716  _In_ size_t const _BufferCount,
1717  _In_ size_t const _MaxCount,
1718  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
1719  ...)
1720  #if defined _NO_CRT_STDIO_INLINE
1721  ;
1722  #else
1723  {
1724  int _Result;
1725  va_list _ArgList;
1726  __crt_va_start(_ArgList, _Format);
1727  _Result = _vsnwprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, NULL, _ArgList);
1728  __crt_va_end(_ArgList);
1729  return _Result;
1730  }
1731  #endif
1732 
1734  _Success_(return >= 0)
1735  int, _snwprintf_s, _vsnwprintf_s,
1736  _Always_(_Post_z_) wchar_t, _Buffer,
1737  _In_ size_t, _BufferCount,
1738  _In_z_ _Printf_format_string_ wchar_t const*, _Format
1739  )
1740 
1742  _CRT_STDIO_INLINE int __CRTDECL _scwprintf_l(
1743  _In_z_ _Printf_format_string_params_(0) wchar_t const* const _Format,
1744  _In_opt_ _locale_t const _Locale,
1745  ...)
1746  #if defined _NO_CRT_STDIO_INLINE
1747  ;
1748  #else
1749  {
1750  int _Result;
1751  va_list _ArgList;
1752  __crt_va_start(_ArgList, _Locale);
1753  _Result = _vscwprintf_l(_Format, _Locale, _ArgList);
1754  __crt_va_end(_ArgList);
1755  return _Result;
1756  }
1757  #endif
1758 
1759  _Success_(return >= 0)
1761  _CRT_STDIO_INLINE int __CRTDECL _scwprintf(
1762  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
1763  ...)
1764  #if defined _NO_CRT_STDIO_INLINE
1765  ;
1766  #else
1767  {
1768  int _Result;
1769  va_list _ArgList;
1770  __crt_va_start(_ArgList, _Format);
1771  _Result = _vscwprintf_l(_Format, NULL, _ArgList);
1772  __crt_va_end(_ArgList);
1773  return _Result;
1774  }
1775  #endif
1776 
1777  _Success_(return >= 0)
1779  _CRT_STDIO_INLINE int __CRTDECL _scwprintf_p_l(
1780  _In_z_ _Printf_format_string_params_(0) wchar_t const* const _Format,
1781  _In_opt_ _locale_t const _Locale,
1782  ...)
1783  #if defined _NO_CRT_STDIO_INLINE
1784  ;
1785  #else
1786  {
1787  int _Result;
1788  va_list _ArgList;
1789  __crt_va_start(_ArgList, _Locale);
1790  _Result = _vscwprintf_p_l(_Format, _Locale, _ArgList);
1791  __crt_va_end(_ArgList);
1792  return _Result;
1793  }
1794  #endif
1795 
1796  _Success_(return >= 0)
1798  _CRT_STDIO_INLINE int __CRTDECL _scwprintf_p(
1799  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
1800  ...)
1801  #if defined _NO_CRT_STDIO_INLINE
1802  ;
1803  #else
1804  {
1805  int _Result;
1806  va_list _ArgList;
1807  __crt_va_start(_ArgList, _Format);
1808  _Result = _vscwprintf_p_l(_Format, NULL, _ArgList);
1809  __crt_va_end(_ArgList);
1810  return _Result;
1811  }
1812  #endif
1813 
1814 
1815  #if !defined RC_INVOKED && !defined __midl && !defined _INC_SWPRINTF_INL_
1816  #pragma warning(push)
1817  #pragma warning(disable: 4141 4412 4793 4996 6054)
1818 
1819  #ifdef __cplusplus
1820 
1821  extern "C++" _SWPRINTFS_DEPRECATED _CRT_INSECURE_DEPRECATE(swprintf_s)
1822  inline int swprintf(
1823  _Pre_notnull_ _Post_z_ wchar_t* const _Buffer,
1824  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
1825  ...) throw()
1826  {
1827  int _Result;
1828  va_list _ArgList;
1829  __crt_va_start(_ArgList, _Format);
1830  #pragma warning(suppress: 28719)
1831  _Result = vswprintf(_Buffer, _CRT_INT_MAX, _Format, _ArgList);
1832  __crt_va_end(_ArgList);
1833  return _Result;
1834  }
1835 
1836  extern "C++" _SWPRINTFS_DEPRECATED _CRT_INSECURE_DEPRECATE(vswprintf_s)
1837  inline int __CRTDECL vswprintf(
1838  _Pre_notnull_ _Post_z_ wchar_t* const _Buffer,
1839  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
1840  va_list _ArgList
1841  ) throw()
1842  {
1843  #pragma warning(suppress: 28719)
1844  return vswprintf(_Buffer, _CRT_INT_MAX, _Format, _ArgList);
1845  }
1846 
1847  extern "C++" _SWPRINTFS_DEPRECATED _CRT_INSECURE_DEPRECATE(_swprintf_s_l)
1848  inline int _swprintf_l(
1849  _Pre_notnull_ _Post_z_ wchar_t* const _Buffer,
1850  _In_z_ _Printf_format_string_params_(0) wchar_t const* const _Format,
1851  _In_opt_ _locale_t const _Locale,
1852  ...) throw()
1853  {
1854  int _Result;
1855  va_list _ArgList;
1856  __crt_va_start(_ArgList, _Locale);
1857  _Result = _vswprintf_l(_Buffer, (size_t)-1, _Format, _Locale, _ArgList);
1858  __crt_va_end(_ArgList);
1859  return _Result;
1860  }
1861 
1862  extern "C++" _SWPRINTFS_DEPRECATED _CRT_INSECURE_DEPRECATE(_vswprintf_s_l)
1863  inline int __CRTDECL _vswprintf_l(
1864  _Pre_notnull_ _Post_z_ wchar_t* const _Buffer,
1865  _In_z_ _Printf_format_string_params_(2) wchar_t const* const _Format,
1866  _In_opt_ _locale_t const _Locale,
1867  va_list _ArgList
1868  ) throw()
1869  {
1870  return _vswprintf_l(_Buffer, (size_t)-1, _Format, _Locale, _ArgList);
1871  }
1872 
1873  #endif // __cplusplus
1874 
1875  #pragma warning(pop)
1876  #endif // !_INC_SWPRINTF_INL_
1877 
1878  #if defined _CRT_NON_CONFORMING_SWPRINTFS && !defined __cplusplus
1879  #define swprintf _swprintf
1880  #define vswprintf _vswprintf
1881  #define _swprintf_l __swprintf_l
1882  #define _vswprintf_l __vswprintf_l
1883  #endif
1884 
1885 
1886  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1887  //
1888  // Wide Character Formatted Input Functions (String)
1889  //
1890  //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1891  _Success_(return >= 0)
1892  _ACRTIMP int __cdecl __stdio_common_vswscanf(
1893  _In_ unsigned __int64 _Options,
1894  _In_reads_(_BufferCount) _Pre_z_ wchar_t const* _Buffer,
1895  _In_ size_t _BufferCount,
1896  _In_z_ _Scanf_format_string_params_(2) wchar_t const* _Format,
1897  _In_opt_ _locale_t _Locale,
1898  va_list _ArgList
1899  );
1900 
1901  _Success_(return >= 0)
1903  _CRT_STDIO_INLINE int __CRTDECL _vswscanf_l(
1904  _In_z_ wchar_t const* const _Buffer,
1905  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
1906  _In_opt_ _locale_t const _Locale,
1907  va_list _ArgList
1908  )
1909  #if defined _NO_CRT_STDIO_INLINE
1910  ;
1911  #else
1912  {
1913  return __stdio_common_vswscanf(
1915  _Buffer, (size_t)-1, _Format, _Locale, _ArgList);
1916  }
1917  #endif
1918 
1919  _Success_(return >= 0)
1921  _CRT_STDIO_INLINE int __CRTDECL vswscanf(
1922  _In_z_ wchar_t const* _Buffer,
1923  _In_z_ _Printf_format_string_ wchar_t const* _Format,
1924  va_list _ArgList
1925  )
1926  #if defined _NO_CRT_STDIO_INLINE
1927  ;
1928  #else
1929  {
1930  return _vswscanf_l(_Buffer, _Format, NULL, _ArgList);
1931  }
1932  #endif
1933 
1934  _Success_(return >= 0)
1936  _CRT_STDIO_INLINE int __CRTDECL _vswscanf_s_l(
1937  _In_z_ wchar_t const* const _Buffer,
1938  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
1939  _In_opt_ _locale_t const _Locale,
1940  va_list _ArgList
1941  )
1942  #if defined _NO_CRT_STDIO_INLINE
1943  ;
1944  #else
1945  {
1946  return __stdio_common_vswscanf(
1948  _Buffer, (size_t)-1, _Format, _Locale, _ArgList);
1949  }
1950  #endif
1951 
1952  #if __STDC_WANT_SECURE_LIB__
1953 
1954  _Success_(return >= 0)
1956  _CRT_STDIO_INLINE int __CRTDECL vswscanf_s(
1957  _In_z_ wchar_t const* const _Buffer,
1958  _In_z_ _Printf_format_string_ wchar_t const* const _Format,
1959  va_list _ArgList
1960  )
1961  #if defined _NO_CRT_STDIO_INLINE
1962  ;
1963  #else
1964  {
1965  return _vswscanf_s_l(_Buffer, _Format, NULL, _ArgList);
1966  }
1967  #endif
1968 
1969  #endif
1970 
1972  _Success_(return >= 0)
1973  int, vswscanf_s,
1974  _In_z_ wchar_t, _Buffer,
1975  _In_z_ _Printf_format_string_ wchar_t const*, _Format,
1976  va_list, _ArgList
1977  )
1978 
1979  _Success_(return >= 0)
1980  _Check_return_opt_ _CRT_INSECURE_DEPRECATE(_vsnwscanf_s_l)
1981  _CRT_STDIO_INLINE int __CRTDECL _vsnwscanf_l(
1982  _In_reads_(_BufferCount) _Pre_z_ wchar_t const* const _Buffer,
1983  _In_ size_t const _BufferCount,
1984  _In_z_ _Scanf_format_string_params_(2) wchar_t const* const _Format,
1985  _In_opt_ _locale_t const _Locale,
1986  va_list _ArgList
1987  )
1988  #if defined _NO_CRT_STDIO_INLINE
1989  ;
1990  #else
1991  {
1992  return __stdio_common_vswscanf(
1994  _Buffer, _BufferCount, _Format, _Locale, _ArgList);
1995  }
1996  #endif
1997 
1998  _Success_(return >= 0)
2000  _CRT_STDIO_INLINE int __CRTDECL _vsnwscanf_s_l(
2001  _In_reads_(_BufferCount) _Pre_z_ wchar_t const* const _Buffer,
2002  _In_ size_t const _BufferCount,
2003  _In_z_ _Scanf_s_format_string_params_(2) wchar_t const* const _Format,
2004  _In_opt_ _locale_t const _Locale,
2005  va_list _ArgList
2006  )
2007  #if defined _NO_CRT_STDIO_INLINE
2008  ;
2009  #else
2010  {
2011  return __stdio_common_vswscanf(
2013  _Buffer, _BufferCount, _Format, _Locale, _ArgList);
2014  }
2015  #endif
2016 
2017  _Success_(return >= 0)
2018  _Check_return_opt_ _CRT_INSECURE_DEPRECATE(_swscanf_s_l)
2019  _CRT_STDIO_INLINE int __CRTDECL _swscanf_l(
2020  _In_z_ wchar_t const* const _Buffer,
2021  _In_z_ _Scanf_format_string_params_(0) wchar_t const* const _Format,
2022  _In_opt_ _locale_t _Locale,
2023  ...)
2024  #if defined _NO_CRT_STDIO_INLINE // SCANF
2025  ;
2026  #else
2027  {
2028  int _Result;
2029  va_list _ArgList;
2030  __crt_va_start(_ArgList, _Locale);
2031  _Result = _vswscanf_l(_Buffer, _Format, _Locale, _ArgList);
2032  __crt_va_end(_ArgList);
2033  return _Result;
2034  }
2035  #endif
2036 
2037  _Success_(return >= 0)
2038  _Check_return_ _CRT_INSECURE_DEPRECATE(swscanf_s)
2039  _CRT_STDIO_INLINE int __CRTDECL swscanf(
2040  _In_z_ wchar_t const* const _Buffer,
2041  _In_z_ _Scanf_format_string_ wchar_t const* const _Format,
2042  ...)
2043  #if defined _NO_CRT_STDIO_INLINE // SCANF
2044  ;
2045  #else
2046  {
2047  int _Result;
2048  va_list _ArgList;
2049  __crt_va_start(_ArgList, _Format);
2050  _Result = _vswscanf_l(_Buffer, _Format, NULL, _ArgList);
2051  __crt_va_end(_ArgList);
2052  return _Result;
2053  }
2054  #endif
2055 
2056  _Success_(return >= 0)
2058  _CRT_STDIO_INLINE int __CRTDECL _swscanf_s_l(
2059  _In_z_ wchar_t const* const _Buffer,
2060  _In_z_ _Scanf_s_format_string_params_(0) wchar_t const* const _Format,
2061  _In_opt_ _locale_t const _Locale,
2062  ...)
2063  #if defined _NO_CRT_STDIO_INLINE // SCANF
2064  ;
2065  #else
2066  {
2067  int _Result;
2068  va_list _ArgList;
2069  __crt_va_start(_ArgList, _Locale);
2070  _Result = _vswscanf_s_l(_Buffer, _Format, _Locale, _ArgList);
2071  __crt_va_end(_ArgList);
2072  return _Result;
2073  }
2074  #endif
2075 
2076  #if __STDC_WANT_SECURE_LIB__
2077 
2078  _Success_(return >= 0)
2080  _CRT_STDIO_INLINE int __CRTDECL swscanf_s(
2081  _In_z_ wchar_t const* const _Buffer,
2082  _In_z_ _Scanf_s_format_string_ wchar_t const* const _Format,
2083  ...)
2084  #if defined _NO_CRT_STDIO_INLINE // SCANF
2085  ;
2086  #else
2087  {
2088  int _Result;
2089  va_list _ArgList;
2090  __crt_va_start(_ArgList, _Format);
2091  _Result = _vswscanf_s_l(_Buffer, _Format, NULL, _ArgList);
2092  __crt_va_end(_ArgList);
2093  return _Result;
2094  }
2095  #endif
2096 
2097  #endif
2098 
2099  _Success_(return >= 0)
2100  _Check_return_opt_ _CRT_INSECURE_DEPRECATE(_snwscanf_s_l)
2101  _CRT_STDIO_INLINE int __CRTDECL _snwscanf_l(
2102  _In_reads_(_BufferCount) _Pre_z_ wchar_t const* const _Buffer,
2103  _In_ size_t const _BufferCount,
2104  _In_z_ _Scanf_format_string_params_(0) wchar_t const* const _Format,
2105  _In_opt_ _locale_t const _Locale,
2106  ...)
2107  #if defined _NO_CRT_STDIO_INLINE // SCANF
2108  ;
2109  #else
2110  {
2111  int _Result;
2112  va_list _ArgList;
2113  __crt_va_start(_ArgList, _Locale);
2114 
2115  #pragma warning(push)
2116  #pragma warning(disable: 4996) // Deprecation
2117  _Result = _vsnwscanf_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);
2118  #pragma warning(pop)
2119 
2120  __crt_va_end(_ArgList);
2121  return _Result;
2122  }
2123  #endif
2124 
2125  _Success_(return >= 0)
2126  _Check_return_opt_ _CRT_INSECURE_DEPRECATE(_snwscanf_s)
2127  _CRT_STDIO_INLINE int __CRTDECL _snwscanf(
2128  _In_reads_(_BufferCount) _Pre_z_ wchar_t const* const _Buffer,
2129  _In_ size_t const _BufferCount,
2130  _In_z_ _Scanf_format_string_ wchar_t const* const _Format,
2131  ...)
2132  #if defined _NO_CRT_STDIO_INLINE // SCANF
2133  ;
2134  #else
2135  {
2136  int _Result;
2137  va_list _ArgList;
2138  __crt_va_start(_ArgList, _Format);
2139 
2140  #pragma warning(push)
2141  #pragma warning(disable: 4996) // Deprecation
2142  _Result = _vsnwscanf_l(_Buffer, _BufferCount, _Format, NULL, _ArgList);
2143  #pragma warning(pop)
2144 
2145  __crt_va_end(_ArgList);
2146  return _Result;
2147  }
2148  #endif
2149 
2150  _Success_(return >= 0)
2152  _CRT_STDIO_INLINE int __CRTDECL _snwscanf_s_l(
2153  _In_reads_(_BufferCount) _Pre_z_ wchar_t const* const _Buffer,
2154  _In_ size_t const _BufferCount,
2155  _In_z_ _Scanf_s_format_string_params_(0) wchar_t const* const _Format,
2156  _In_opt_ _locale_t const _Locale,
2157  ...)
2158  #if defined _NO_CRT_STDIO_INLINE // SCANF
2159  ;
2160  #else
2161  {
2162  int _Result;
2163  va_list _ArgList;
2164  __crt_va_start(_ArgList, _Locale);
2165  _Result = _vsnwscanf_s_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList);
2166  __crt_va_end(_ArgList);
2167  return _Result;
2168  }
2169  #endif
2170 
2171  _Success_(return >= 0)
2173  _CRT_STDIO_INLINE int __CRTDECL _snwscanf_s(
2174  _In_reads_(_BufferCount) _Pre_z_ wchar_t const* const _Buffer,
2175  _In_ size_t const _BufferCount,
2176  _In_z_ _Scanf_s_format_string_ wchar_t const* const _Format,
2177  ...)
2178  #if defined _NO_CRT_STDIO_INLINE // SCANF
2179  ;
2180  #else
2181  {
2182  int _Result;
2183  va_list _ArgList;
2184  __crt_va_start(_ArgList, _Format);
2185  _Result = _vsnwscanf_s_l(_Buffer, _BufferCount, _Format, NULL, _ArgList);
2186  __crt_va_end(_ArgList);
2187  return _Result;
2188  }
2189  #endif
2190 
2191  #ifdef _M_CEE_MIXED
2192  #pragma managed(pop)
2193  #endif
2194 #endif // _CRT_FUNCTIONS_REQUIRED
2195 
2196 
2197 
return
Definition: corecrt_memcpy_s.h:60
#define __RETURN_POLICY_SAME(_FunctionCall)
Definition: corecrt.h:1782
#define stdout
Definition: corecrt_wstdio.h:34
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vfwprintf_p_l(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_params_(2) wchar_t const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
Definition: corecrt_wstdio.h:358
Definition: corecrt.h:489
__crt_va_start(_ArgList, _Locale)
#define _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS
Definition: corecrt_stdio_config.h:104
_Check_return_opt_ _In_z_ _Scanf_format_string_params_(0) wchar_t const *const _Format
#define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1_ARGLIST(_ReturnType, _FuncName, _VFuncName, _DstType, _Dst, _TType1, _TArg1)
Definition: corecrt.h:700
#define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_3(_ReturnType, _FuncName, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3)
Definition: corecrt.h:694
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL fwprintf(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_ wchar_t const *const _Format,...)
Definition: corecrt_wstdio.h:491
_ACRTIMP
Definition: corecrt_wstdio.h:209
_Out_writes_opt_(_MaxCount)
struct _iobuf FILE
_ACRTIMP_ALT FILE *__cdecl __acrt_iob_func(unsigned _Ix)
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _fwprintf_s_l(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_params_(0) wchar_t const *const _Format, _In_opt_ _locale_t const _Locale,...)
Definition: corecrt_wstdio.h:509
void * _Placeholder
Definition: corecrt_wstdio.h:27
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL vfwscanf(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_ wchar_t const *const _Format, va_list _ArgList)
Definition: corecrt_wstdio.h:728
#define _CRT_STDIO_INLINE
Definition: corecrt_stdio_config.h:22
#define _Check_return_opt_
Definition: corecrt.h:96
unsigned short wint_t
Definition: corecrt.h:477
_Check_return_opt_ _ACRTIMP int __cdecl fputws(_In_z_ wchar_t const *_Buffer, _Inout_ FILE *_Stream)
_ACRTIMP void __cdecl _wperror(_In_opt_z_ wchar_t const *_ErrorMessage)
_Check_return_opt_ _ACRTIMP wint_t __cdecl _ungetwc_nolock(_In_ wint_t _Character, _Inout_ FILE *_Stream)
_Out_writes_z_(_BufferCount) wchar_t *_Buffer
int errno_t
Definition: corecrt.h:476
#define _Check_return_wat_
Definition: corecrt.h:102
#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)
Definition: corecrt.h:1817
#define _Scanf_s_format_string_
Definition: sal.h:560
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _wscanf_s_l(_In_z_ _Scanf_s_format_string_params_(0) wchar_t const *const _Format, _In_opt_ _locale_t const _Locale,...)
Definition: corecrt_wstdio.h:947
_In_ size_t _In_ size_t _MaxCount
Definition: corecrt_wstdio.h:1028
#define __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_ARGLIST_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _CC, _FuncName, _VFuncName, _SecureDstType, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
Definition: corecrt.h:1859
#define _CRT_BEGIN_C_HEADER
Definition: vcruntime.h:73
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(_Success_(return!=0) wchar_t *, _getws_s, _Always_(_Post_z_) wchar_t, _Buffer) _Check_return_opt_ _ACRTIMP wint_t __cdecl putwc(_In_ wchar_t _Character
_Check_return_opt_ _In_z_ _In_opt_ _locale_t const _Locale
Definition: corecrt_wstdio.h:837
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vwprintf_l(_In_z_ _Printf_format_string_params_(2) wchar_t const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
Definition: corecrt_wstdio.h:387
#define _Outptr_result_maybenull_
Definition: sal.h:425
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL wprintf(_In_z_ _Printf_format_string_ wchar_t const *const _Format,...)
Definition: corecrt_wstdio.h:605
_Check_return_ _In_z_ _Scanf_format_string_ wchar_t const *const _Format
Definition: corecrt_wstdio.h:855
_Check_return_opt_ _ACRTIMP wint_t __cdecl ungetwc(_In_ wint_t _Character, _Inout_ FILE *_Stream)
_Pre_maybenull_ _Buffer _Check_return_opt_ _ACRTIMP wint_t __cdecl _fgetwc_nolock(_Inout_ FILE *_Stream)
_Check_return_opt_ _ACRTIMP int __cdecl __stdio_common_vfwprintf(_In_ unsigned __int64 _Options, _Inout_ FILE *_Stream, _In_z_ _Printf_format_string_params_(2) wchar_t const *_Format, _In_opt_ _locale_t _Locale, va_list _ArgList)
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL fwscanf_s(_Inout_ FILE *const _Stream, _In_z_ _Scanf_s_format_string_ wchar_t const *const _Format,...)
Definition: corecrt_wstdio.h:892
#define __CRTDECL
Definition: vcruntime.h:156
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _fwprintf_l(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_params_(0) wchar_t const *const _Format, _In_opt_ _locale_t const _Locale,...)
Definition: corecrt_wstdio.h:472
#define _Post_z_
Definition: sal.h:688
#define _Pre_maybenull_
Definition: sal.h:678
#define _In_opt_z_
Definition: sal.h:311
_Check_return_opt_ _In_ int _BufferCount
Definition: corecrt_wstdio.h:78
_Check_return_ _ACRTIMP FILE *__cdecl _wfdopen(_In_ int _FileHandle, _In_z_ wchar_t const *_Mode)
#define _Check_return_
Definition: sal.h:554
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _wprintf_l(_In_z_ _Printf_format_string_params_(0) wchar_t const *const _Format, _In_opt_ _locale_t const _Locale,...)
Definition: corecrt_wstdio.h:587
#define _In_z_
Definition: sal.h:310
_Check_return_opt_ _ACRTIMP wint_t __cdecl _getwc_nolock(_Inout_ FILE *_Stream)
#define _In_
Definition: sal.h:305
_Check_return_opt_ _Success_(return==_Buffer) _ACRTIMP wchar_t *__cdecl fgetws(_Out_writes_z_(_BufferCount) wchar_t *_Buffer
#define _CRT_INTERNAL_LOCAL_SCANF_OPTIONS
Definition: corecrt_stdio_config.h:105
#define _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR
Definition: corecrt_stdio_config.h:110
#define _In_opt_
Definition: sal.h:306
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vfwprintf_p(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_ wchar_t const *const _Format, va_list _ArgList)
Definition: corecrt_wstdio.h:373
_Check_return_ _ACRTIMP _CRTALLOCATOR wchar_t *__cdecl _wtempnam(_In_opt_z_ wchar_t const *_Directory, _In_opt_z_ wchar_t const *_FilePrefix)
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vfwprintf_l(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_params_(2) wchar_t const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
Definition: corecrt_wstdio.h:296
#define _DCRTIMP
Definition: corecrt.h:43
_Check_return_ _ACRTIMP wint_t __cdecl getwc(_Inout_ FILE *_Stream)
_Check_return_ _CRT_INSECURE_DEPRECATE(_wfopen_s) _ACRTIMP FILE *__cdecl _wfopen(_In_z_ wchar_t const *_FileName
_Check_return_ _In_z_ wchar_t const * _Mode
Definition: corecrt_wstdio.h:133
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vwprintf_s_l(_In_z_ _Printf_format_string_params_(2) wchar_t const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
Definition: corecrt_wstdio.h:414
_Check_return_wat_ *_SizeRead wchar_t * _Buffer
Definition: corecrt_wconio.h:27
_Check_return_opt_ _ACRTIMP wint_t __cdecl fputwc(_In_ wchar_t _Character, _Inout_ FILE *_Stream)
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL vwprintf(_In_z_ _Printf_format_string_ wchar_t const *const _Format, va_list _ArgList)
Definition: corecrt_wstdio.h:401
#define _Scanf_s_format_string_params_(x)
Definition: sal.h:565
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _fwscanf_s_l(_Inout_ FILE *const _Stream, _In_z_ _Scanf_s_format_string_params_(0) wchar_t const *const _Format, _In_opt_ _locale_t const _Locale,...)
Definition: corecrt_wstdio.h:871
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _wprintf_p_l(_In_z_ _Printf_format_string_params_(0) wchar_t const *const _Format, _In_opt_ _locale_t const _Locale,...)
Definition: corecrt_wstdio.h:661
#define _ACRTIMP_ALT
Definition: corecrt.h:34
_Out_writes_opt_z_(_BufferCount) wchar_t *_Buffer
Definition: corecrt_wstdio.h:25
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL vfwprintf(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_ wchar_t const *const _Format, va_list _ArgList)
Definition: corecrt_wstdio.h:311
_Check_return_opt_ _In_z_ _In_opt_ _locale_t const va_list _ArgList
Definition: corecrt_wstdio.h:842
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vfwscanf_l(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_ wchar_t const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
Definition: corecrt_wstdio.h:711
_ACRTIMP int __cdecl _wremove(_In_z_ wchar_t const *_FileName)
#define _CRTALLOCATOR
Definition: corecrt.h:56
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vwscanf_s_l(_In_z_ _Printf_format_string_ wchar_t const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
Definition: corecrt_wstdio.h:803
_Check_return_ _ACRTIMP wint_t __cdecl getwchar(void)
_CRT_STDIO_INLINE int __CRTDECL _vwscanf_l(_In_z_ _Printf_format_string_ wchar_t const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
Definition: corecrt_wstdio.h:776
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vfwprintf_s_l(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_params_(2) wchar_t const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
Definition: corecrt_wstdio.h:325
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL wscanf_s(_In_z_ _Scanf_s_format_string_ wchar_t const *const _Format,...)
Definition: corecrt_wstdio.h:967
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vwprintf_p_l(_In_z_ _Printf_format_string_params_(2) wchar_t const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
Definition: corecrt_wstdio.h:445
_Check_return_opt_ _ACRTIMP int __cdecl __stdio_common_vfwscanf(_In_ unsigned __int64 _Options, _Inout_ FILE *_Stream, _In_z_ _Scanf_format_string_params_(2) wchar_t const *_Format, _In_opt_ _locale_t _Locale, va_list _ArgList)
#define _Printf_format_string_
Definition: sal.h:558
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _fwprintf_p(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_ wchar_t const *const _Format,...)
Definition: corecrt_wstdio.h:569
_In_reads_(_N) wchar_t const *_S2
#define _CRT_INT_MAX
Definition: corecrt.h:144
_Check_return_opt_ _ACRTIMP wint_t __cdecl _fputwchar(_In_ wchar_t _Character)
_Result
Definition: corecrt_wstdio.h:846
_Check_return_opt_ _ACRTIMP int __cdecl __stdio_common_vfwprintf_s(_In_ unsigned __int64 _Options, _Inout_ FILE *_Stream, _In_z_ _Printf_format_string_params_(2) wchar_t const *_Format, _In_opt_ _locale_t _Locale, va_list _ArgList)
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL vfwprintf_s(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_ wchar_t const *const _Format, va_list _ArgList)
Definition: corecrt_wstdio.h:342
_Check_return_wat_ _ACRTIMP errno_t __cdecl _wfopen_s(_Outptr_result_maybenull_ FILE **_Stream, _In_z_ wchar_t const *_FileName, _In_z_ wchar_t const *_Mode)
_In_opt_z_ wchar_t const _In_opt_z_ wchar_t const * _FileName
Definition: corecrt.h:253
#define _SWPRINTFS_DEPRECATED
Definition: corecrt_wstdio.h:993
#define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(_ReturnType, _FuncName, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
Definition: corecrt.h:693
__crt_va_end(_ArgList)
#define _CRT_END_C_HEADER
Definition: vcruntime.h:76
_Check_return_opt_ _ACRTIMP int __cdecl __stdio_common_vfwprintf_p(_In_ unsigned __int64 _Options, _Inout_ FILE *_Stream, _In_z_ _Printf_format_string_params_(2) wchar_t const *_Format, _In_opt_ _locale_t _Locale, va_list _ArgList)
#define _Scanf_format_string_
Definition: sal.h:559
#define _Out_writes_(size)
Definition: sal.h:345
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _wprintf_p(_In_z_ _Printf_format_string_ wchar_t const *const _Format,...)
Definition: corecrt_wstdio.h:679
_Check_return_opt_ _ACRTIMP wint_t __cdecl putwchar(_In_ wchar_t _Character)
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL wprintf_s(_In_z_ _Printf_format_string_ wchar_t const *const _Format,...)
Definition: corecrt_wstdio.h:642
_Check_return_opt_ _ACRTIMP wint_t __cdecl _putwc_nolock(_In_ wchar_t _Character, _Inout_ FILE *_Stream)
#define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst)
Definition: corecrt.h:709
_Check_return_opt_ _ACRTIMP wint_t __cdecl fgetwc(_Inout_ FILE *_Stream)
#define _CRT_INTERNAL_SCANF_SECURECRT
Definition: corecrt_stdio_config.h:116
#define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2_ARGLIST(_ReturnType, _FuncName, _VFuncName, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2)
Definition: corecrt.h:701
_Check_return_ _ACRTIMP FILE *__cdecl _wfreopen(_In_z_ wchar_t const *_FileName, _In_z_ wchar_t const *_Mode, _Inout_ FILE *_OldStream)
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL vwprintf_s(_In_z_ _Printf_format_string_ wchar_t const *const _Format, va_list _ArgList)
Definition: corecrt_wstdio.h:430
#define stdin
Definition: corecrt_wstdio.h:33
__RETURN_POLICY_DST
Definition: corecrt_wstdio.h:209
_wtmpnam
Definition: corecrt_wstdio.h:209
_Pre_maybenull_ _Always_(_Post_z_)
#define _Inout_
Definition: sal.h:375
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _fwprintf_p_l(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_params_(0) wchar_t const *const _Format, _In_opt_ _locale_t const _Locale,...)
Definition: corecrt_wstdio.h:550
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL vfwscanf_s(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_ wchar_t const *const _Format, va_list _ArgList)
Definition: corecrt_wstdio.h:761
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vfwscanf_s_l(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_ wchar_t const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
Definition: corecrt_wstdio.h:742
_In_ size_t _In_z_ _Printf_format_string_params_(2) wchar_t const *_Format
#define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_ARGLIST_EX(_ReturnType, _ReturnPolicy, _DeclSpec, _CC, _FuncName, _SecureFuncName, _VFuncName, _SecureVFuncName, _SalAttributeDst, _DstType, _Dst, _TType1, _TArg1)
Definition: corecrt.h:1813
_Check_return_ _DCRTIMP FILE *__cdecl _wpopen(_In_z_ wchar_t const *_Command, _In_z_ wchar_t const *_Mode)
#define _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION
Definition: corecrt_stdio_config.h:109
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL fwprintf_s(_Inout_ FILE *const _Stream, _In_z_ _Printf_format_string_ wchar_t const *const _Format,...)
Definition: corecrt_wstdio.h:530
#define _Pre_z_
Definition: sal.h:665
_Check_return_opt_ _ACRTIMP int __cdecl _putws(_In_z_ wchar_t const *_Buffer)
char * va_list
Definition: vadefs.h:39
_Check_return_opt_ _ACRTIMP wint_t __cdecl _fgetwchar(void)
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL vwscanf_s(_In_z_ _Printf_format_string_ wchar_t const *const _Format, va_list _ArgList)
Definition: corecrt_wstdio.h:819
_Check_return_wat_ _ACRTIMP errno_t __cdecl _wfreopen_s(_Outptr_result_maybenull_ FILE **_Stream, _In_z_ wchar_t const *_FileName, _In_z_ wchar_t const *_Mode, _Inout_ FILE *_OldStream)
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _wprintf_s_l(_In_z_ _Printf_format_string_params_(0) wchar_t const *const _Format, _In_opt_ _locale_t const _Locale,...)
Definition: corecrt_wstdio.h:622
#define _Pre_notnull_
Definition: sal.h:677
_Check_return_ _ACRTIMP FILE *__cdecl _wfsopen(_In_z_ wchar_t const *_FileName, _In_z_ wchar_t const *_Mode, _In_ int _ShFlag)
_Check_return_opt_ _ACRTIMP wint_t __cdecl _fputwc_nolock(_In_ wchar_t _Character, _Inout_ FILE *_Stream)
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL vwscanf(_In_z_ _Printf_format_string_ wchar_t const *const _Format, va_list _ArgList)
Definition: corecrt_wstdio.h:790
_Check_return_opt_ _In_ int _Inout_ FILE * _Stream
Definition: corecrt_wstdio.h:78
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vwprintf_p(_In_z_ _Printf_format_string_ wchar_t const *const _Format, va_list _ArgList)
Definition: corecrt_wstdio.h:459
#define NULL
Definition: corecrt.h:158
#define _Post_maybez_
Definition: sal.h:1369