en:docs:fapi:dosqfilemode

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

2021/09/17 04:47 · prokushev · 0 Comments
2021/08/20 03:18 · prokushev · 0 Comments

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