Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:docs:fapi:dosduphandle [2021/08/20 03:41] – prokushev | en:docs:fapi:dosduphandle [2021/12/05 09:55] (current) – prokushev | ||
|---|---|---|---|
| Line 5: | Line 5: | ||
| This call returns a new file handle for an open file, which refers to the same position in the file as the old file handle. | This call returns a new file handle for an open file, which refers to the same position in the file as the old file handle. | ||
| - | ==Syntax== | + | ===== Syntax |
| - | | + | <code c> |
| + | DosDupHandle (OldFileHandle, | ||
| + | </ | ||
| - | ==Parameters== | + | ===== Parameters |
| - | | + | |
| - | *NewFileHandle (PHFILE) - input/ | + | |
| + | *NewFileHandle ([[PHFILE]]) - input/ | ||
| *FFFFH - Allocate a new file handle and return it here. | *FFFFH - Allocate a new file handle and return it here. | ||
| *<> | *<> | ||
| *On output, a value of FFFFH returns a value for NewFileHandle, | *On output, a value of FFFFH returns a value for NewFileHandle, | ||
| - | ==Return Code== | + | ===== Return Code ===== |
| - | | + | rc ([[USHORT]]) - return |
| | | ||
| Return code descriptions are: | Return code descriptions are: | ||
| Line 28: | Line 31: | ||
| * 114 ERROR_INVALID_TARGET_HANDLE | * 114 ERROR_INVALID_TARGET_HANDLE | ||
| - | ==Remarks== | + | ===== Remarks |
| - | Duplicating the handle duplicates and ties all handle-specific information between OldFileHandle and NewFileHandle. For example, if you move the read/write pointer of either handle by a DosRead, DosWrite, or DosChgFilePtr function call, the pointer for the other handle is also changed. | + | |
| + | Duplicating the handle duplicates and ties all handle-specific information between OldFileHandle and NewFileHandle. For example, if you move the read/write pointer of either handle by a [[DosRead]], [[DosWrite]], or [[DosChgFilePtr]] function call, the pointer for the other handle is also changed. | ||
| The valid values for NewFileHandle include the following handles for standard I/O, which are always available to the process: | The valid values for NewFileHandle include the following handles for standard I/O, which are always available to the process: | ||
| Line 40: | Line 44: | ||
| If a file handle value of a currently open file is specified in NewFileHandle, | If a file handle value of a currently open file is specified in NewFileHandle, | ||
| - | Issuing a DosClose against a file handle does not affect the duplicate handle. | + | Issuing a [[DosClose]] against a file handle does not affect the duplicate handle. |
| - | ==Example Code== | + | ===== Example Code ===== |
| - | ===C Binding=== | + | |
| + | ==== C Binding ==== | ||
| + | |||
| + | <code c> | ||
| #define INCL_DOSFILEMGR | #define INCL_DOSFILEMGR | ||
| | | ||
| Line 53: | Line 59: | ||
| | | ||
| USHORT | USHORT | ||
| + | </ | ||
| This example opens a file, creates a second file handle, then closes the file with the second handle. | This example opens a file, creates a second file handle, then closes the file with the second handle. | ||
| + | <code c> | ||
| #define INCL_DOSFILEMGR | #define INCL_DOSFILEMGR | ||
| | | ||
| Line 98: | Line 106: | ||
| & | & | ||
| - | ===MASM Binding=== | + | </ |
| + | |||
| + | ==== MASM Binding ==== | ||
| EXTRN DosDupHandle: | EXTRN DosDupHandle: | ||
| Line 109: | Line 120: | ||
| Returns WORD | Returns WORD | ||
| - | ====== Note ====== | + | ===== Note ===== |
| Text based on [[http:// | Text based on [[http:// | ||




