26 __crt_cached_ptd_host&
ptd
39 __acrt_stdio_temporary_buffering_guard
const buffering(
stream,
ptd);
52 __crt_cached_ptd_host
ptd;
59 size_t const element_count,
60 FILE*
const public_stream,
61 __crt_cached_ptd_host&
ptd
77 unsigned stream_buffer_size =
stream.has_any_buffer()
87 size_t remaining_bytes = total_bytes;
88 while (remaining_bytes != 0)
95 _ASSERTE((
"Inconsistent Stream Count. Flush between consecutive read and write",
stream->_cnt >= 0));
106 size_t const bytes_to_write =
__min(remaining_bytes,
static_cast<size_t>(
stream->_cnt));
110 remaining_bytes -= bytes_to_write;
111 stream->_cnt -=
static_cast<int>(bytes_to_write);
112 stream->_ptr += bytes_to_write;
113 data += bytes_to_write;
117 else if (remaining_bytes >= stream_buffer_size)
130 size_t const max_bytes_to_write = stream_buffer_size > 0
131 ? remaining_bytes - remaining_bytes % stream_buffer_size
134 unsigned const bytes_to_write =
static_cast<unsigned>(
__min(max_bytes_to_write,
UINT_MAX - 1));
137 if (bytes_actually_written ==
UINT_MAX)
147 unsigned const bytes_written = bytes_actually_written > bytes_to_write
149 : bytes_actually_written;
152 remaining_bytes -= bytes_written;
153 data += bytes_written;
155 if (bytes_actually_written < bytes_to_write)
177 stream_buffer_size =
stream->_bufsiz > 0
183 return element_count;
189 size_t const element_count,
190 FILE*
const public_stream
193 __crt_cached_ptd_host
ptd;
int __cdecl __acrt_stdio_flush_and_write_narrow_nolock(int const c, FILE *const stream, __crt_cached_ptd_host &ptd)
int __cdecl _write_internal(_In_ int _FileHandle, _In_reads_bytes_(_MaxCharCount) void const *_Buf, _In_ unsigned int _MaxCharCount, _Inout_ __crt_cached_ptd_host &_Ptd)
#define _UCRT_VALIDATE_RETURN(ptd, expr, errorcode, retexpr)
auto __acrt_lock_stream_and_call(FILE *const stream, Action &&action) -> decltype(action())
_In_ size_t const _In_ int _In_ bool const _In_ unsigned const _In_ __acrt_rounding_mode const _Inout_ __crt_cached_ptd_host & ptd
size_t const element_size
int __cdecl __acrt_stdio_flush_nolock(FILE *const public_stream, __crt_cached_ptd_host &ptd)
size_t __cdecl _fwrite_nolock(void const *const buffer, size_t const element_size, size_t const element_count, FILE *const public_stream)
size_t __cdecl _fwrite_internal(void const *const buffer, size_t const size, size_t const count, FILE *const stream, __crt_cached_ptd_host &ptd)
size_t __cdecl _fwrite_nolock_internal(void const *const buffer, size_t const element_size, size_t const element_count, FILE *const public_stream, __crt_cached_ptd_host &ptd)
size_t __cdecl fwrite(void const *const buffer, size_t const size, size_t const count, FILE *const stream)
GLuint GLuint GLsizei count
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
_Check_return_ _CRTIMP int __cdecl _fileno(_In_ FILE *_File)
#define memcpy(s1, s2, n)