Table of Contents
This is part of Family API which allow to create dual-os version of program runs under OS/2 and DOS
Note: This is legacy API call. It is recommended to use 32-bit equivalent
DosQFileMode
This call queries the mode (attribute) of the specified file.
Syntax
DosQFileMode (FilePathName, CurrentAttribute, Reserved)
Parameters
- FilePathName (PSZ) - input : Address of the file path name.
DosQSysInfo is called by an application during initialization to determine the maximum path length allowed by OS/2.
- CurrentAttribute (PUSHORT) - output : Address of the file's current attribute.
Bit | Description |
---|---|
15-6 | Reserved |
5 | File archive |
4 | Subdirectory |
3 | Reserved |
2 | System file |
1 | Hidden file |
0 | Read only file |
These bits can be set individually or in combination. For example, an attribute value of 0021H (bits 5 and 0 set to 1) indicates a read-only file that is archived.
- Reserved (ULONG) - input : Reserved must be set to zero.
Return Code
rc (USHORT) - return
Return code descriptions are:
- 0 NO_ERROR
- 2 ERROR_FILE_NOT_FOUND
- 3 ERROR_PATH_NOT_FOUND
- 26 ERROR_NOT_DOS_DISK
- 87 ERROR_INVALID_PARAMETER
- 108 ERROR_DRIVE_LOCKED
- 206 ERROR_FILENAME_EXCED_RANGE
Remarks
The “Volume Label” type attribute is not returned by DosQFileMode. DosQFSInfo may be used for this purpose.
Example Code
C Binding
#define INCL_DOSFILEMGR USHORT rc = DosQFileMode(FilePathName, CurrentAttribute, Reserved); PSZ FilePathName; /* File path name */ PUSHORT CurrentAttribute; /* Data area (returned) */ ULONG 0; /* Reserved (must be zero) */ USHORT rc; /* return code */
MASM Binding
EXTRN DosQFileMode:FAR INCL_DOSFILEMGR EQU 1 PUSH@ ASCIIZ FilePathName ;File path name PUSH@ WORD CurrentAttribute ;Data area (returned) PUSH DWORD 0 ;Reserved (must be zero) CALL DosQFileMode
Returns WORD
Note
Text based on http://www.edm2.com/index.php/DosQFileMode