_beep _sleep _seterrormode | 这些函数在以前版本的 CRT 中已过时。 此外,对应 Win32 API 不可用于 UWP 应用。 | 无解决方法。 |
chdir _chdrive getcwd | 这些函数已过时或不是线程安全的。 | 使用 _chdir、_getcwd 及相关函数。 |
_cgets * _cputs * _cprintf * _cscanf * _getc getch ungetch * | 这些函数用于直接从控制台读取和写入控制台。 UWP 应用仅限 GUI;它们不支持控制台。 | 无解决方法。 |
getpid | 此函数已过时。 | 使用 _getpid 或 Win32 API GetCurrentProcessId()。 |
_getdiskfree | 不可用。 | 使用 Win32 API GetDiskFreeSpaceExW()。 |
_getdrive _getdrives | 对应 API 不可用于 UWP 应用。 | 无解决方法。 |
_inp _inpd _inpw _outp _outpd _outpw inp inpd inpw outp outpd outpw | UWP 应用中不支持端口 IO。 | 无解决方法。 |
_ismbc* _mbs*
| UWP 应用中不支持多字节字符串。 | 改为使用 Unicode 字符串。 |
_pclose _pipe _popen _wpopen | 管道功能不可用于 UWP 应用。 | 无解决方法。 |
_resetstkoflw | 支持 Win32 API 不可用于 UWP 应用。 | 无解决方法。 |
_getsystime _setsystime | 这些是以前 CRT 版本中的已过时 API。 此外,用户无法在 UWP 应用中设置系统时间,因为缺少权限。 | 若要只获取系统时间,请使用 Win32 API GetSystemTime。 无法设置系统时间。 |
_environ _putenv _putenv_s _searchenv _searchenv_s _dupenv_s _wputenv _wputenv_s _wsearchenv getenv getenv_s putenv _wdupenv_s _wenviron _wgetenv _wgetenv_s _wsearchenv_s tzset | 环境变量不可用于 UWP 应用。 | 无解决方法。 若要设置时区,请使用 _tzset。 |
_loaddll _getdllprocaddr _unloaddll | 这些是以前 CRT 版本中的已过时函数。 此外,用户无法加载 DLL(同一个应用程序包中的 DLL 除外)。 | 使用 Win32 API LoadPackagedLibrary、GetProcAddress 和 FreeLibrary 加载和使用打包的 DLL。 |
_wexe* _exe* _wspawn* _spawn* Spawn* system | 该功能在 UWP 应用中不可用。 UWP 应用无法调用另一个 UWP 应用或桌面应用。 | 无解决方法。 |
_heapwalk _heapadd _heapchk _heapset _heapused | 这些函数通常用于处理堆。 但是,UWP 应用中不支持对应 Win32 API。 而且,应用无法再创建或使用专用堆。 | 无解决方法。 但是,_heapwalk 在 DEBUG CRT 中可用(仅用于进行调试)。 这些函数无法在上载到 Windows 应用商店的应用中使用。 |
以下函数在 CRT 中可用于 UWP 应用,但应仅当无法使用对应 Win32 或 Windows 运行时 API 时才使用(例如,要移植大型基本代码时)。
单字节字符串函数(例如,strcat、strcpy、strlwr 等)。 | 使 UWP 应用严格遵循 Unicode 标准,因为公开的所有 Win32 API 和 Windows 运行时 API 都仅使用 Unicode 字符集。 保留了单字节函数,以便用于移植大型基本代码,但在其他情况下应避免使用,并且应尽可能改用对应的宽字符函数。 |
流 IO 和低级文件 IO 函数(例如,fopen、open 等)。 | 这些函数是同步的,不推荐用于 UWP 应用。 在 UWP 应用中,使用异步 API 打开、读取和写入文件,以防止锁定 UI 线程。 这类 API 的示例是在 Windows::Storage::FileIO 类中的一个。 |