DosMkDir2
Bindings: C, MASM
This call creates a subdirectory that has extended attributes associated
with it.
DosMkDir2 (DirName, EABuf, Reserved)
DirName (PSZ) - input
Address of the ASCIIZ directory path name, which may or may not
contain 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.
EABuf (PEAOP) - input/output
Address of the extended attribute buffer, which contains an EAOP
structure. An EAOP structure has the following format:
fpGEAList (PGEALIST)
Address of GEAList. GEAList is a packed array of variable length
"get EA" structures, each containing an EA name and the length of
the name.
fpFEAList (PFEALIST)
Address of FEAList. FEAList is a packed array of variable length
"full EA" structures, each containing an EA name and its
corresponding value, as well as the lengths of the name and the
value.
oError (ULONG)
Offset into structure where error has occurred.
On input, the fpGEAList field and oError fields are ignored. The
EA setting operation is performed on the information contained in
FEAList. If extended attributes are not to be defined or modified,
then EABuf must be set to null. Following is the FEAList format:
cbList (ULONG)
Length of the FEA list, including the length itself.
list (FEA)
List of FEA structures. An FEA structure has the following format:
Flags (BYTE)
Bit indicator describing the characteristics of the EA being
defined.
Bit Description
7 Critical EA.
6-0 Reserved and must be set to zero.
If bit 7 is set to 1, this indicates a critical EA. If bit 7 is
0, this means the EA is noncritical; that is, the EA is not
essential to the intended use by an application of the file with
which it is associated.
cbName (BYTE)
Length of EA ASCIIZ name, which does not include the null
character.
cbValue (USHORT)
Length of EA value, which cannot exceed 64KB.
szName (PSZ)
Address of the ASCIIZ name of EA.
aValue (PSZ)
Address of the free-format value of EA.
Note:
The szName and aValue fields are not included as part of header
or include files. Because of their variable lengths, these
entries must be built manually.
On output, fpGEAList is unchanged. fpFEAList is unchanged as is
the area pointed to by fpFEAList. If an error occurred during
the set, oError is the offset of the FEA where the error
occurred. The API return code is the error code corresponding
to the condition generating the error. If no error occurred,
oError is undefined.
If EABuf is 0x00000000, then no extended attributes are defined
for the directory.
Reserved (ULONG) - input
Reserved and must be set to zero.
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
254 ERROR_INVALID_EA_NAME
255 ERROR_EA_LIST_INCONSISTENT
Remarks
DosMkDir2 allows an application to define extended attributes for a
subdirectory at the time of its creation.
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.
Created using Inf-PHP v.2 (c) 2003 Yuri Prokushev
Created using Inf-HTML v.0.9b (c) 1995 Peter Childs