Jump to content

DosMkDir: Difference between revisions

From EDM2
No edit summary
Ak120 (talk | contribs)
mNo edit summary
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Legacy
|RepFunc=[[DosCreateDir]]
|Remarks=
}}
This call creates a subdirectory.
This call creates a subdirectory.


Line 12: Line 7:
;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 24:
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 39: Line 33:
USHORT  rc = DosMkDir(DirName, Reserved);
USHORT  rc = DosMkDir(DirName, Reserved);


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


USHORT           rc;            /* return code */
USHORT rc;            /* return code */
</PRE>
</PRE>


===MASM Binding===
===MASM===
<PRE>
<PRE>
EXTRN  DosMkDir:FAR
EXTRN  DosMkDir:FAR
INCL_DOSFILEMGR    EQU 1
INCL_DOSFILEMGR    EQU 1


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


Line 57: Line 51:
</PRE>
</PRE>


==Related Functions==
[[Category:Dos16]]
*
 
[[Category:Dos]]

Latest revision as of 04:49, 26 January 2020

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