Returns disk space information about the restrictions along the directory path
typedef struct {
nuint8 numEntries ;
struct {
nuint8 level ;
nuint32 max ;
nuint32 current ;
} list[102];
} NW_LIMIT_LIST
uses calwin32
NW_LIMIT_LIST = Packed Record
numEntries : nuint8 ;
list : Array[0..101] of Record
level : nuint8 ;
max : nuint32 ;
current : nuint32 ;
End;
End;
Specifies the number of entries returned in the structure.
Specifies the distance from the directory to the root for each entry.
Specifies the maximum amount of space (in 4 KB sizes) assigned to a directory for each entry.
Specifies the amount of space (in 4 KB sizes) assigned to a directory minus the amount of space used by a directory and its subdirectories for each entry.
level specifies to which directory max and current refer. The specified directory is always the first entry. For other entries, to find out what parent directory is being referred to, parse the directory path to match the level of each entry after the first one in the list. (The root of the volume is zero.)
If the max field for a directory is 0x7FFFFFFF, there is no restriction for the entry. If the max field is greater than 0x7FFFFFFF, the limit is zero. For all other values, max represents the restriction in 4K increments. You can multiply max by 4 to get the restrictions in KB. The same is true for the current field. The max and current fields are allowed to be negative so a valid space-in-use value may be calculated.
current is equal to max minus the space that is already in use by the directory and its subdirectories, which can be obtained by subtracting current from max. When max is set to a value greater than 0x7FFFFFFF, the space in use is equal to zero minus current. (current will be negative so the answer will be positive.) Do not directly use current in this case because it might be a negative number.
The space-in-use value can be calculated by subtracting the value of the current field from the value of the max field.