Jump to content

DosMkDir: Difference between revisions

From EDM2
No edit summary
Ak120 (talk | contribs)
mNo edit summary
Line 3: Line 3:
|Remarks=Renamed to [[DosCreateDir]] in OS/2 2.0.  
|Remarks=Renamed to [[DosCreateDir]] in OS/2 2.0.  
}}
}}
This call creates a subdirectory.
This call creates a subdirectory.


Line 12: Line 11:
;DirName (PSZ) - input : Address of the ASCIIZ directory path name, which may or may not include a drive specification. If no drive is specified, the current drive is assumed.
;DirName (PSZ) - input : Address of the ASCIIZ directory path name, which may or may not include a drive specification. If no drive is specified, the current drive is assumed.
:DosQSysInfo is called by an application during initialization to determine the maximum path length allowed by OS/2.
:DosQSysInfo is called by an application during initialization to determine the maximum path length allowed by OS/2.
; Reserved (ULONG) - input : Reserved and must be set to zero.
;Reserved (ULONG) - input : Reserved and must be set to zero.


==Return Code==
==Return Code==
rc (USHORT) - return
;rc (USHORT) - return:Return code descriptions are:
Return code descriptions are:
* 0 NO_ERROR
* 0       NO_ERROR  
* 3 ERROR_PATH_NOT_FOUND
* 3       ERROR_PATH_NOT_FOUND  
* 5 ERROR_ACCESS_DENIED
* 5       ERROR_ACCESS_DENIED  
* 26 ERROR_NOT_DOS_DISK
* 26       ERROR_NOT_DOS_DISK  
* 87 ERROR_INVALID_PARAMETER
* 87       ERROR_INVALID_PARAMETER  
*108 ERROR_DRIVE_LOCKED
* 108     ERROR_DRIVE_LOCKED  
*206 ERROR_FILENAME_EXCED_RANGE
* 206     ERROR_FILENAME_EXCED_RANGE


==Remarks==
==Remarks==
Line 30: Line 28:
DosQSysInfo must be used by an application to determine the maximum path length supported by OS/2. The returned value should be used to dynamically allocate buffers that are to be used to store paths.
DosQSysInfo must be used by an application to determine the maximum path length supported by OS/2. The returned value should be used to dynamically allocate buffers that are to be used to store paths.


If a program running with the NEWFILES bit set tries to create a directory with blanks immediately preceding the dot on a FAT drive, the system rejects the name. For example, if c: is a FAT drive, the name "file .txt" is rejected and the name "file.txt" is accepted.  
If a program running with the NEWFILES bit set tries to create a directory with blanks immediately preceding the dot on a FAT drive, the system rejects the name. For example, if c: is a FAT drive, the name "file .txt" is rejected and the name "file.txt" is accepted.


==Example Code==
==Bindings==
=== C Binding===
===C===
<PRE>
<PRE>
#define INCL_DOSFILEMGR
#define INCL_DOSFILEMGR
Line 45: Line 43:
</PRE>
</PRE>


===MASM Binding===
===MASM===
<PRE>
<PRE>
EXTRN  DosMkDir:FAR
EXTRN  DosMkDir:FAR
Line 56: Line 54:
Returns WORD
Returns WORD
</PRE>
</PRE>
==Related Functions==
*


[[Category:Dos]]
[[Category:Dos]]

Revision as of 09:32, 24 November 2019

Legacy Function Warning
It is recommended to use a newer replacement for this function.
Replacement: DosCreateDir
Remarks: Renamed to DosCreateDir in OS/2 2.0.

This call creates a subdirectory.

Syntax

DosMkDir (DirName, Reserved)

Parameters

DirName (PSZ) - input
Address of the ASCIIZ directory path name, which may or may not include a drive specification. If no drive is specified, the current drive is assumed.
DosQSysInfo is called by an application during initialization to determine the maximum path length allowed by OS/2.
Reserved (ULONG) - input
Reserved and must be set to zero.

Return Code

rc (USHORT) - return
Return code descriptions are:
  • 0 NO_ERROR
  • 3 ERROR_PATH_NOT_FOUND
  • 5 ERROR_ACCESS_DENIED
  • 26 ERROR_NOT_DOS_DISK
  • 87 ERROR_INVALID_PARAMETER
  • 108 ERROR_DRIVE_LOCKED
  • 206 ERROR_FILENAME_EXCED_RANGE

Remarks

If any subdirectory names in the path do not exist, the subdirectory is not created. Upon return, a subdirectory is created at the end of the specified path.

DosQSysInfo must be used by an application to determine the maximum path length supported by OS/2. The returned value should be used to dynamically allocate buffers that are to be used to store paths.

If a program running with the NEWFILES bit set tries to create a directory with blanks immediately preceding the dot on a FAT drive, the system rejects the name. For example, if c: is a FAT drive, the name "file .txt" is rejected and the name "file.txt" is accepted.

Bindings

C

#define INCL_DOSFILEMGR

USHORT  rc = DosMkDir(DirName, Reserved);

PSZ              DirName;       /* New directory string name */
ULONG            0;             /* Reserved (must be zero) */

USHORT           rc;            /* return code */

MASM

EXTRN  DosMkDir:FAR
INCL_DOSFILEMGR     EQU 1

PUSH@  ASCIIZ  DirName       ;New directory name string
PUSH   DWORD   0             ;Reserved (must be zero)
CALL   DosMkDir

Returns WORD