dos12.hlp (Table of Contents; Topic list)
DosFSCtl (1.2)
                                                      Up Next Previous
────────────────────────────────────────────────────────────────────────────
 
#define INCL_DOSFILEMGR
 
USHORT DosFSCtl(pbData, cbData, pcbData, pbParms, cbParm, pcbParm,
    usFunct, pszRoute, hf, usRouteMethod, ulReserved);
PBYTE pbData;            /* pointer to data buffer              */
USHORT cbData;           /* buffer length                       */
PUSHORT pcbData;         /* pointer to buffer for actual length */
PBYTE pbParms;           /* pointer to parameter list           */
USHORT cbParm;           /* size of parameter list              */
PUSHORT pcbParm;         /* pointer to buffer for actual length */
USHORT usFunct;          /* function code                       */
PSZ pszRoute;            /* pointer to file-system name         */
HFILE hf;                /* file or device handle               */
USHORT usRouteMethod;    /* routing method                      */
ULONG ulReserved;        /* must be zero                        */
 
The DosFSCtl function is used to call functions provided in a file system
that are not part of the standard set of I/O functions.
 
Parameter      Description
────────────────────────────────────────────────────────────────────────────
 
pbData         Points to the buffer that receives data from the nonstandard
               function.
 
cbData         Specifies the length (in bytes) of the buffer pointed to by
               the pbData parameter. If this value is not at least as large
               as the value pointed to by the pcbData parameter, the system
               returns the ERROR_BUFFER_OVERFLOW error value and the value
               pointed to by pcbData will contain the correct length.
 
pcbData        Points to the variable that receives the actual length of
               data returned.
 
pbParms        Points to a list of command-specific parameters.
 
cbParm         Specifies the length (in bytes) of the pbParms parameter. If
               the buffer size is insufficient, the error value
               ERROR_BUFFER_OVERFLOW will is returned and pcbParm will
               contain the size of buffer needed.
 
pcbParm        Points to the variable that contains the length of the
               commands passed to the function and, on return, contains the
               length of the commands returned by the function.
 
usFunct        Specifies a function code specific to the file system. This
               parameter can be one of the following values:
 
               Value           Meaning
               ─────────────────────────────────────────────────────────────
               0x0000──0x7FFF  Reserved for MS OS/2.
 
               0x8000──0xBFFF  Functions to be handled by local file
                               systems.
 
               0xC000──0xFFFF  Functions to be handled by remote file
                               systems.
 
pszRoute       Points to the string that contains the name of the file
               system or the path of a file or directory that the operation
               applies to.
 
hf             Identifies the file or device.
 
usRouteMethod  Specifies how the request will be routed. This parameter can
               be one of the following values:
 
               Value           Meaning
               ─────────────────────────────────────────────────────────────
               FSCTL_HANDLE    Route via the file handle. The pszRoute
                               parameter must be NULL, and the hf parameter
                               must be a valid file or device handle.
 
               FSCTL_PATHNAME  Route via a path. The hf parameter must be
                               -1, and the pszRoute parameter must be a
                               valid MS OS/2 path.
 
               FSCTL_FSDNAME   Route via a file-system name. The hf
                               parameter must be -1 and the pszRoute
                               parameter must point to the name of a valid
                               file system.
 
ulReserved     Specifies a reserved value; must be zero.
 
Return Value
 
The return value is zero if the function is successful. Otherwise, it is an
error value, which may be one of the following:
 
     ERROR_BUFFER_OVERFLOW
     ERROR_INTERRUPT
     ERROR_INVALID_CATEGORY
     ERROR_INVALID_FSD_NAME
     ERROR_INVALID_FUNCTION
     ERROR_INVALID_HANDLE
     ERROR_INVALID_LEVEL
     ERROR_INVALID_PARAMETER
     ERROR_NOT_SUPPORTED
 
Comments
 
A usFunct value of 0x0001 returns new error code information from the file
system value of 0x0002 returns the maximum size of individual extended
attributes in the first word of the buffer pointed to by pbData and the
maximum size of the full extended-attribute list in the second word of the
buffer.
 
See Also
 
DosFSAttach