FS_ConnectNetResource

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.