Porting MS-DOS System Calls
The DOS3Call API function in Windows 3.x must be called from assembly language. It is typically used to perform file I/O. In Win32, you should replace assembly language code that calls DOS3Call with the appropriate Win32 file I/O calls. Other (non-file) INT 21H functions should be replaced with the portable Windows API call as shown in the following table.
INT 21H subfunction | MS-DOS operation | Win32 API equivalent |
0EH | Select Disk | SetCurrentDirectory |
19H | Get Current Disk | GetCurrentDirectory |
2AH | Get Date | GetDateAndTime |
2BH | Set Date | SetDateAndTime |
2CH | Get Time | GetDateAndTime |
2DH | Set Time | SetDateAndTime |
36H | Get Disk Free Space | GetDiskFreeSpace |
39H | Create Directory | CreateDirectory |
3AH | Remove Directory | RemoveDirectory |
3BH | Set Current Directory | SetCurrentDirectory |
3CH | Create Handle | CreateFile |
3DH | Open Handle | CreateFile |
3EH | Close Handle | CloseHandle |
3FH | Read Handle | ReadFile |
40H | Write Handle | WriteFile |
41H | Delete File | DeleteFile |
42H | Move File Pointer | SetFilePointer |
43H | Get File Attributes | GetAttributesFile |
43H | Set File Attributes | SetAttributesFile |
47H | Get Current Directory | GetCurrentDirectory |
4EH | Find First File | FindFirstFile |
4FH | Find Next File | FindNextFile |
56H | Change Directory Entry | MoveFile |
57H | Get Date/Time of File | GetDateAndTimeFile |
57H | Set Date/Time of File | SetDataAndTimeFile |
59H | Get Extended Error | GetLastError |
5AH | Create Unique File | GetTempFileName |
5BH | Create New File | CreateFile |
5CH | Lock | LockFile |
5CH | Unlock | UnlockFile |
67H | Set Handle Count | SetHandleCount |