I supposed you are talking about the file descriptors used with _open, _read, _write and _close. The 2048 limit is hardcoded in the CRT so you cannot change it. However, this is not an OS limit (at least on current NT systems like Win XP). The only limit for the number of files opened by a process (handles) is the available memory. For example I have been able to open 100,000 handles using the CreateFile API.