names

Is used by zInfo_s and contains information about the number of names in the variableData area.

Service:File System Services (64-Bit)
Defined In:zParams.h

Syntax

struct                        /* zGET_ALL_NAMES */
{
   LONG    numEntries;
   LONG    fileNameArray;
} names;

Fields

numEntries

Specifies the number of array entries that are valid in the fileNameArray.

fileNameArray

Specifies an index to an array of indexes that are each an index into the variableData section that references a Unicode string. This array is allocated in the variableData section and is indexed by the namespace ID. If the file object has a name that is valid in a given namespace, the array slot corresponding to that namespace ID is filled in with an index to the Unicode string for that name. If the file object does not have a valid name in a given namespace, the array slot is filled in with zero.

For example, if numEntries is set to 5, then slots 0, 1, 2, 3, and 4 of the fileNameArray are initialized to either contain zero or an index to a Unicode string. The name is also stored in the variableData section. If the same identical name is shared by more than one namespace, it is stored in the variableData area only once, but multiple array elements are set to index to the shared string, one for each namespace that is sharing the name.

For example, if info is a pointer to a zInfo_s structure, the following syntax accesses the DOS namespace filename:

(unicode_t *)&(((BYTE *)info)[((LONG *)&((BYTE *)info)
[info->names.fileNameArray])[zNSPACE_DOS]]