{{page>en:templates:fapiint}} ====== 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 {{page>en:templates:fapi}}