Por que o rsize_t está definido?

eu achei aquilostrncpy_s() é definido emVS2013 Como

errno_t __cdecl strncpy_s(_Out_writes_z_(_SizeInBytes) char * _Dst, _In_ rsize_t _SizeInBytes, _In_reads_or_z_(_MaxCount) const char * _Src, _In_ rsize_t _MaxCount);

rsize_t é:

typedef size_t rsize_t;

Eu acho que é um truque feito porEstúdio visual. No entanto, eu encontrei esta função definida da seguinte maneira nestepágina

errno_t strncpy_s(char *restrict dest, rsize_t destsz,
              const char *restrict src, rsize_t count); 

Porque érsize_t definido aqui? E sesize_t foi usado aqui? Casos especiais para usar issorsize_t?

questionAnswers(2)

yourAnswerToTheQuestion