FS_ConnectNetResource( PIOREQ pir )
A connection is made to a network resource through FS_ConnectNetResource.
ir_ppath
Supplies a pointer to the canonicalized unicode network resource pathname to connect to. The pathname may contain more than just the network resource address name. Wildcards are not allowed on the pathname.
ir_password
Supplies an optional pointer to the security credentials needed to connect to the network resource, otherwise this is set to NULL. Note that the password is passed in whatever format the user passed to the IFS manager, it is not converted to unicode format.
ir_options
Supplies connection options.
Connection Option Values: One of the following options will be specified. | |
Value | Meaning |
RESOPT_UNCREQUEST | UNC style path based anonymous connection request. |
RESOPT_DEVATTACH | Explicit device redirection. |
RESOPT_UNCCONNECT | Explicit UNC style connection. |
RESOPT_DISCONNECTED | Connection is to be setup disconnected, without touching the net. |
RESOPT_NO_CREATE | Do not create a resource for this connection, just verify the connection exists. |
RESOPT_STATIC | This connection is established at startup and disconnected only at shutdown, no user apis can disconnect it. |
ir_flags
Supplies resource type.
Connection Resource Type Values: One of the following resource types will be specified. | |
Value | Meaning |
RESTYPE_WILD | Wild card resource type. |
RESTYPE_DISK | Disk resource. |
RESTYPE_SPOOL | Spooled printer resource. |
RESTYPE_CHARDEV | Character device resource. |
RESTYPE_IPC | Interprocess communication resource. |
ir_fh
Supplies the IFS system resource handle for the network resource connection. This is passed back in to the IFS manager on certain calls. The FSD should not attempt to interpret this in any fashion, it is provided only for identification purposes.
ir_uFname
Pointer to the case-preserved filename component in unicode.
ir_upath
Pointer to the unparsed user pathname in unicode.
ir_user
Supplies user id for this request.
ir_lananum
Supplies the LAN address number, which is typically used only for mailslots. The ifs manager does not store this value.
ir_conflags
Indicates whether the connect operation was initiated via a user api request or via an FSD directly.
Connection Flag Values: | |
Value | Meaning |
FALSE | The connection has been initiated by a user api request. |
TRUE | The connection has been initiated via an FSD request. |
ir_pid
Supplies process id for this request.
ir_fh | Returns the previous IFS system resource handle if the specified resource was previously connected. If this is a new connection, then the FSD should leave this field unchanged. |
ir_rh | Returns the handle to the network resource that a connection was made to. This handle is used to identify an existing connection and is passed back to the provider during file operations on the network resource. The value of this handle is not interpreted by the Win32 or INT 21h Managers, it is only used to identify the network resource. |
ir_pathSkip | Number of path elements consumed by the connect operation. The IFS manager then parses the rest of the path based on this return value. Typically, the network FSD will consume the servername and sharename components of the passed in path. |
ir_flags | Returns the correct resource type if the resource type passed in on the request was RESTYPE_WILD. For all other values of the resource type, this field need not be updated by the FSD. |
ir_vfunc | Returns a pointer to a function table, in the FSD, containing a list of the FSD name based file I/O entry points. |
Function Table Structure: | |
Value | Meaning |
vfn_version | IFS version number. |
vfn_revision | IFS interface revision number. |
vfn_size | Number of function entry points in table. |
vfn_func[NUM_VOLFUNC] | Array of pointers to volume-based functions as described below: |
Volume Based Functions: | |
Value | Meaning |
vfn_func[VFN_DELETE] | Pointer to FS_DeleteFile function. |
vfn_func[VFN_DIR] | Pointer to FS_Dir function. |
vfn_func[VFN_FILEATTRIB] | Pointer to FS_FileAttributes function. |
vfn_func[VFN_FLUSH] | Pointer to FS_FlushVolume function. |
vfn_func[VFN_GETDISKINFO] | Pointer to FS_GetDiskInfo function. |
vfn_func[VFN_OPEN] | Pointer to FS_OpenFile function. |
vfn_func[VFN_RENAME] | Pointer to FS_RenameFile function. |
vfn_func[VFN_SEARCH] | Pointer to FS_SearchFile function. |
vfn_func[VFN_QUERY] | Pointer to FS_QueryResourceInfo function. |
vfn_func[VFN_DISCONNECT] | Pointer to FS_DisconnectNetResource function. |
vfn_func[VFN_UNCPIPEREQUEST] | Pointer to FS_NamedPipeRequest function for named pipes. |
vfn_func[VFN_IOCTL16DRIVE] | Pointer to FS_Ioctl16Drive function. |
vfn_func[VFN_GETDISKPARMS] | Function not defined for network resources, FSD must return pointer to error function. |
vfn_func[VFN_FINDOPEN] | Pointer to function for FS_FindFirstFile function. |
vfn_func[VFN_DASDIO] | Function not supported for network resources, FSD must return pointer to error function. |
ir_error | Returns status of the operation ( 0 if no error, errorcode otherwise ). |
This function will be called for each connection made to the network resource. The same network resource handle should be returned for multiple connections to a single network resource.